Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi prozedure aufrufen ?? (https://www.delphipraxis.net/21727-prozedure-aufrufen.html)

Vader 7. Mai 2004 09:07


prozedure aufrufen ??
 
hallo,


hätte da eine frage. wie rufe ich diese prozedure auf

Code:
procedure socketreadfile (Sender: TObject);
 
var
  iLen: Integer;
  Bfr: Pointer;
begin
  iLen := Socket.ReceiveLength;
  GetMem(Bfr, iLen);
  try
    Socket.ReceiveBuf(Bfr^, iLen);
    FStream.Write(Bfr^, iLen);
  finally
    FreeMem(Bfr);
  end;

end;
so hab ichs probiert, aber ohne erfolg.
Code:
procedure TForm1.Button1.Click(Sender: TObject);

begin
  SocketRedFile

end.

mfg Vader

s14 7. Mai 2004 09:09

Re: prozedure aufrufen ??
 
Sollte da nicht "SocketReadFile" stehen?
Dann vielleicht noch .Self

Gruß
s14

MCeddy 7. Mai 2004 09:10

Re: prozedure aufrufen ??
 
Hi Vader. Versuche sie mal so aufzurufen: socketreadfile(self)

viele Grüße

MCeddy02

Vader 7. Mai 2004 09:47

Re: prozedure aufrufen ??
 
hallo,


das war ein schreibfehler socketreadfile
aber das mit (self) probier ich einmal
wieso (self) könnt ihr mir das irgenwie erklären ?

mfg vader

yankee 7. Mai 2004 09:57

Re: prozedure aufrufen ??
 
Nun, du musst der Procedure die Variable Sender übergeben.
Du kannst der Procedure auch die eigene Variable Sender übergeben (so mache ich es meistens), das geht, da dann einfach der Sender aus Button1 übegeben wird.
Du kannst auch z.B.: SocketRedFile.click; machen. Vorrausgesetzt, das ist etwas, wo man draufklicken kann.
Oder (und das ist am einfachsten) du gehst mit dem Objektinspector auf Button1, dann auf Ereignisse, und wählst unter OnClick die aufzurufende Procedure auf. (Vorrausgesetzt, die sind kompatibel, aber das sieht so aus...

roderich 7. Mai 2004 15:45

Re: prozedure aufrufen ??
 
Wenn du die Variable "Sender" in Deiner Methode eh nicht verwendest, kannst du beim Aufruf übergeben was du magst. Z.B. auch nil oder sonst was.
Habe mir aber angewöhnt, als Sender grundsätzlich die Komponente selber anzugeben. Damit ist man auf der sicheren Seite, wer weiß was später im Rumpf der Methode geändert wird.

Roderich


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz