Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите с правильным написанием обращения к процедуре? [D5, Win95/98, WinME, NT4, Win2k]


dimich1978 ©   (2003-02-05 08:32:00) 

в юните LongDataTransfer описана функция ReceiveLongText:

Type TMySProc = procedure(const S:AnsiString);
function SendLongText(Socket:TCustomWinSocket; S:String):boolean;
function ReceiveLongText(Socket:TCustomWinSocket;MySProc:TMySProc;SafeCalledStr :string = ""):boolean;


В Сервере пишу на прием пакетов:
.....
implementation

uses LongDataTransfer;

{$R *.DFM}
.....
Procedure tform1.DataProcessing(S1:String);
begin
ShowMessage(S1);
end;


procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
(???) ReceiveLongText(Socket,DataProcessing);
end;

Но выдается ошибка в строке (???)
[Error] Unit1.pas(128): Incompatible types: regular procedure and method pointer


В чем дело не пойму, подскажите где тут я накололся?


Digitman   (2003-02-05 13:27:00) [1]

Type TMySProc = procedure( const S:AnsiString) of object;
function SendLongText(Socket:TCustomWinSocket; S:String):boolean;
function ReceiveLongText(Socket:TCustomWinSocket;MySProc:TMySProc;SafeCalledStr :string = ""):boolean;


В Сервере пишу на прием пакетов:
.....
implementation

uses LongDataTransfer;

{$R *.DFM}
.....
Procedure tform1.DataProcessing( const S:AnsiString);
begin
ShowMessage(S1);
end;


procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
ReceiveLongText(Socket,DataProcessing);
end;


dimich1978   (2003-02-05 10:29:00) [2]

>>Digitman
MySProc := @DataProcessing;
В этой строке все равно пишет ощибку
[Error] Unit1.pas(129): Variable required


Digitman   (2003-02-05 09:43:00) [3]

var
MySProc:TMySProc;
..
MySProc := @DataProcessing;

ReceiveLongText(Socket,@MySProc);



dimich1978   (2003-02-05 09:00:00) [4]

Теперь пишет, что
[Error] Unit1.pas(128): Variable required


Digitman   (2003-02-05 08:53:00) [5]

ReceiveLongText(Socket,@DataProcessing);


Наверх

Титульная страница Поиск, карта сайта Написать письмо