Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#14

Re: eigenes Event programmieren?

  Alt 25. Mai 2006, 20:21
Ok, hier einige Vorschläge:

Ändere deine Unit LANFS_KERNAL folgendermaßen ab:
  • Entferne die Deklaration der Variablen LANFS_SYSTEM
  • Entferne in der Methode TLANFS_KERNAL.Start den Bezeichner LANFS_SYSTEM. Die Zeile sollte dann so aussehen:
    TCPServer1.OnExecute := ReceiveStream; Da die Anweisung innerhalb einer Methode von TLANFS_KERNAL steht, ist die Angabe nicht notwendig. Wenn du mehrere Instanzen von TLANFS_KERNAL erzeugen möchtest, ist sie sogar falsch.
Wenn ich nichts übersehen habe, sollte die Unit nach diesen Änderungen universeller verwendbar sein. Um sie zu nutzen, mußt du eine Instanz von TLANFS_KERNAL erzeugen. Die dazu notwendige Variable (die wir eben in der Unit LANFS_KERNAL entfernt haben) vereinbarst du am besten im private-Abschnitt des Formulars TForm2. Das Erzeugen der Instanz gehört in die Methode FormCreate:

Delphi-Quellcode:
procedure TForm2.FormCreate(Sender: TObject);
begin
  lanfs_system := TLANFS_KERNAL.Create;
  lanfs_system.OnReceivedData := Form2.test; // hier passiert nun kein Fehler mehr :-)
end;
Zum Freigeben der Instanz benötigst du noch die Methode FormDestroy, die du auf die gleiche Weise wie FormCreate erstellen kannst. Sie sollte so aussehen:

Delphi-Quellcode:
procedure TForm2.FormDestroy(Sender: TObject);
begin
  lanfs_system.Free;
end;
Versuche es einmal mit diesen Änderungen. Sollten noch Fehler auftreten, meldest du dich wieder.

Gruß Hawkeye
  Mit Zitat antworten Zitat