Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Можно ли сделать откат


Автор: supervladislav 19.9.2012, 03:50
У меня странная вещь писал проект на 2010 Delphi.
Последнее помню ,что лазил в инспектор объектов 
разбираться с Form.dialog и после этого , в коде мне компилятор нашёл аж 6 ошибок ,
до этого всё работало нормально.
Наверника современная среда разработки Delphi 2010 позволяет как-то вернуться к тому месту с которого всё пошло не так.
Ктонибудь распологает какойнибудь информацией?

Автор: Rennigth 19.9.2012, 04:19
Цитата(supervladislav @  19.9.2012,  03:50 Найти цитируемый пост)
компилятор нашёл аж 6 ошибок

Каких?
Цитата(supervladislav @  19.9.2012,  03:50 Найти цитируемый пост)
Наверника современная среда разработки Delphi 2010 позволяет как-то вернуться к тому месту с которого всё пошло не так.

Нет конечно... Не сохранил(Backup не сделал) - сам виноват. 
А вообще для этого есть "системы контроля версий"
http://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F%D0%BC%D0%B8
Может я и отстал, я пользовался http://tortoisesvn.net/.

Автор: supervladislav 19.9.2012, 04:21
вот код ))

Автор: supervladislav 19.9.2012, 04:22
Rennigth, ошибки следующии
[DCC Error] Unit1.pas(203): E2029 ',' or ':' expected but '=' found
[DCC Error] Unit1.pas(205): E2029 Type expected but 'IMPLEMENTATION' found
[DCC Error] Unit1.pas(233): E2003 Undeclared identifier: 'FormCreate'
[DCC Error] Unit1.pas(243): E2003 Undeclared identifier: 'Form1'
[DCC Fatal Error] Project2.dpr(4): F2063 Could not compile used unit 'Unit1.pas'

Автор: Rennigth 19.9.2012, 04:22
dpr где?

Автор: bems 19.9.2012, 04:26
Цитата(supervladislav @  19.9.2012,  03:50 Найти цитируемый пост)
в коде мне компилятор нашёл аж 6 ошибок

компилятор работает так, что после нахождения ошибки в юните он не останавливается
посмотри например на свой код из соседней темы
Код

program: pirotehika;
uses Forms,Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.


тут нужно убрать двоеточние, а остальное правильно. но компилятор выводит сразу несколько ошибок:

[DCC Hint] Project2.dpr(5): H2243 Expression needs no Initialize/Finalize
почему? потому что вместо вызова метода Application.Initialize компилятору показалось что ты пытаешься использовать стандартную процедуру Initialize. указания объекта Application он не увидел. Почему? Потому что выше указана ошибка

[DCC Error] Project2.dpr(5): E2003 Undeclared identifier: 'Application'
почему? потому что он не увидел что подключен модуль Forms, в котором объявлен Application. Модуль  не подключился потому что секции uses в которой подключаются модули должен предшествовать корректный заголовок программы или юнита. А его нет, о чем тебе говорит ошибка, выводящаяся еще на строчку выше

[DCC Error] Project2.dpr(1): E2029 ';' expected but ':' found
почему? потому что после ключевого слова program не должно быть никаких двоеточий, следовательно program: pirotehika; хаголовком программы не является


Надеюсь мораль понятна: фактически там только одно лишнее двоеточие, а остальные ошибки о которых сообщает компилятор это лишь следствие того что где-то выше что-то уже пошло не так. Поэтому когда ты говоришь что у тебя "аж 6 ошибок" это может означать что ты случайно нажал какую-то клавишу на клавиатуре, и испортил всего в одном месте. поэтому вместо восстановления из бекапа попробуй игнорировать все ошибки кроме первой. Первую найди, пойми что не так, и исправь. потом попробуй запустить - если снова выводятся ошибки то тогда действительно ошибок много. Но может быть что остальные 5 ошибок исчезнут как следствие исправления первой


А бекап в Д2010 уже вроде в подпапке __history в папке проекта

Добавлено @ 04:33
посмотрел модуль - там у тебя конец объявления класса формы куда-то потерялся. ищи лучше бекап
и еще вместо var Form=TForm1; делают var Form: TForm1;

Автор: Rennigth 19.9.2012, 04:34
Цитата(bems @  19.9.2012,  04:26 Найти цитируемый пост)
А бекап в Д2010 уже вроде в подпапке __history в папке проекта
 не знал, посмотрю... )))


Автор: bems 19.9.2012, 04:39
Rennigth, ну в ХЕ2 там, а с какой версии это началось я не помню

Автор: Rennigth 19.9.2012, 04:47
Ну 2010 ставить, проверять не буду)) Я просто XE2 пользуюсь только пару месяцев(может меньше). Спс, я что-то и не обращал внимания на эту папочку. 

Автор: bems 19.9.2012, 04:50
Rennigth, там и вкладки history внизу под редактором кода есть smile и интеграция с svn

Автор: Rennigth 19.9.2012, 04:55
Цитата(bems @  19.9.2012,  04:50 Найти цитируемый пост)
Rennigth, там и вкладки history внизу под редактором кода есть smile и интеграция с svn 

Моя невнимательномть иногда меня убивает ))) Спс)

Добавлено @ 05:01
bems, Кстати, а есть механизм восстановления? или в ручную? в менюшках что-то не нашел.
Разобрался.

Автор: supervladislav 19.9.2012, 05:11
bems, Я вам говорю про основной модуль)))

Автор: Rennigth 19.9.2012, 05:20
Цитата(supervladislav @  19.9.2012,  05:11 Найти цитируемый пост)
Я вам говорю про основной модуль))) 

??? Это ты к чему? О dpr? Ну покажи его, посмотрим.

Автор: supervladislav 19.9.2012, 05:29
bems, 
в главном модуле находится вот это , но еслибы компилятор воспринял этот код как ошибку я думаю он бы мне написал ,
выше я писал на какой модуль ссылается компилятор.

Добавлено через 4 минуты и 29 секунд
Rennigth, вот залил по новый , там все модуля и файлы есть.
Есть и Dpr

Автор: supervladislav 19.9.2012, 05:37
Rennigth, я имел ввиду не отдельный софт , а на уровне самого редактора.
Кстате Svn насколько я помню лучше потходит командам разработчиков?

Ой ну и руки крюки у меня сегодня , как файло то ниже убрать? 

Автор: supervladislav 19.9.2012, 05:39
Rennigth, извените что-то я в сообщениях запутался.
Как кстате ответить вам с цитированием вашего сообщения?

Автор: Rennigth 19.9.2012, 05:48
supervladislav, 
Ну что вроде этого. Компилируется.

Добавлено через 5 минут и 40 секунд
Цитата(supervladislav @  19.9.2012,  05:39 Найти цитируемый пост)
Как кстате ответить вам с цитированием вашего сообщения?

Выделяешь текст и нажимаешь кнопку (наверху сообщения) "быстрая цитата".

Автор: supervladislav 19.9.2012, 06:57
Rennigth, 
продцедуру не задекларировал блин 
Код

 public
    procedure Form1Create(Sender:TObject);
  end;

Автор: ZeUsM 19.9.2012, 13:44
Цитата(supervladislav @ 19.9.2012,  06:57)
Rennigth, 
продцедуру не задекларировал блин 
Код

 public
    procedure Form1Create(Sender:TObject);
  end;

Такое ощущение, что текст полностью руками набирался или скопирован не полностью.

Код

    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
end;

var
  Form1 : TForm1;

У меня после этих правок скомпилировалась.

Автор: supervladislav 19.9.2012, 15:08
ZeUsM, нет текст руками не набирался.

Автор: bems 19.9.2012, 15:27
Цитата(supervladislav @  19.9.2012,  05:11 Найти цитируемый пост)
bems, Я вам говорю про основной модуль))) 
а я тебе сказал что у тебя кусок кода потерян, также говорю где бывают бекапы, а про ошибки только для примера. Ты мой пост полностью прочитай, там указана папка где в дельфи ХЕ2 лежит бекап. Кажется в 2010 эта папка уже есть

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)