Странности компиляции Лазаруса

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Странности компиляции Лазаруса

Сообщение yantux » 14.10.2008 15:08:23

Почему Лазарус при компиляции пишет ругается на assign(), а в freepascal такой проблемы нет?

Unit1.pas(80,40) Error: Wrong number of parameters specified for call to "Assign"

Перепробовал все подозрительные галочки компиляции (совместимость, расширения delphi, совместимость tp7 и т.д.). Работаю в win32.

Код: Выделить всё

procedure TForm1.Button1Click(Sender: TObject);
Var
S : String;
data : integer;
AProcess : TProcess;
fileEthList : file of text;
strNameEthListExe, strNameEthList : string;
begin
   strNameEthListExe := 'ether_list.exe';
   AProcess := TProcess.Create( nil );
   AProcess.CommandLine := strNameEthListExe;
   AProcess.Options := AProcess.Options + [poWaitOnExit];
   AProcess.Execute;
   AProcess.Free;
   
   strNameEthList := 'eth.list';
   assign( fileEthList, strNameEthList );
   reset( fileEthList );
   while ( not oef( fileEthList ) ) do
         begin
         readln( fileEthList, S );
         ListBox1.Items.Add( S );
         end;
   close( fileEthList );   

     data := ListBox1.Count;
     Str( data, S ) ;
     data := ListBox1.Items.Add( 'ListBox1.Items.Add111 = ' + S
             + ' ' + LabeledEdit1.Text );
     LabeledEdit1.Text := S;
     
   (*  ShowMessage( 'ShowMessage2222' );    *)
   
   writeln( 'Hello World from Lazarus!!!!!' );
end;         
yantux
постоялец
 
Сообщения: 133
Зарегистрирован: 29.10.2007 16:02:33
Откуда: Санкт-Петербург

Re: Странности компиляции Лазаруса

Сообщение VirtUX » 14.10.2008 15:26:22

Вместо fileEthList : file of text; пиши fileEthList : textfile;
Вместо assign( fileEthList, strNameEthList ); пиши assignfile( fileEthList, strNameEthList );
Вместо close( fileEthList ); пиши closefile( fileEthList );
P.S. Почему writeln( 'Hello World from Lazarus!!!!!' );, а не ShowMessage('Hello World from Lazarus!!!!!')?
Последний раз редактировалось VirtUX 14.10.2008 15:37:07, всего редактировалось 2 раз(а).
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: Странности компиляции Лазаруса

Сообщение yantux » 14.10.2008 15:33:29

VirtUX писал(а):Вместо fileEthList : file of text; пиши fileEthList : textfile;
Вместо assign( fileEthList, strNameEthList ); пиши assignfile( fileEthList, strNameEthList );
Вместо close( fileEthList ); пиши closefile( fileEthList );


Интересно... а почему именно так? В какой доке об этом написано?
yantux
постоялец
 
Сообщения: 133
Зарегистрирован: 29.10.2007 16:02:33
Откуда: Санкт-Петербург

Re: Странности компиляции Лазаруса

Сообщение VirtUX » 14.10.2008 15:38:16

yantux писал(а):Интересно... а почему именно так? В какой доке об этом написано?

Не знаю в какой доке, но так работает без ошибок.
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: Странности компиляции Лазаруса

Сообщение yantux » 14.10.2008 15:40:44

Ругается на oef() - чем его заменить?

Добавлено спустя 5 минут 11 секунд:
опс лоханулся, конечно же eof()...
yantux
постоялец
 
Сообщения: 133
Зарегистрирован: 29.10.2007 16:02:33
Откуда: Санкт-Петербург

Re: Странности компиляции Лазаруса

Сообщение VirtUX » 14.10.2008 15:47:46

yantux писал(а):Ругается на oef() - чем его заменить?
Не знаю что такое oef(), но вместо его написал бы eof()
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: Странности компиляции Лазаруса

Сообщение Alexx2000 » 14.10.2008 15:50:54

yantux писал(а):Почему Лазарус при компиляции пишет ругается на assign(), а в freepascal такой проблемы нет?

Unit1.pas(80,40) Error: Wrong number of parameters specified for call to "Assign"

Потому что вы вызываете Assign из обработчика кнопки и вместо процедуры Assign берется метод Assign формы. Тоже самое и с Close.
Аватара пользователя
Alexx2000
постоялец
 
Сообщения: 488
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Рейтинг@Mail.ru