![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с правильным написанием обращения к процедуре? [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);