![]() |
On Ereignisse zur Laufzeit hinzufuegen
Hi
Einem Socket werden die On Ereignisse zu Laufzeit hinzugefügt
Delphi-Quellcode:
Klapt ganz gut.Das On Ereignis wird aufgerufen...jedoch
@FFTPConnections[high(FFTPConnections)].FFTPConnction.OnWorkEnd := @FTP1WorkEnd;
Wenn ich dann versuche in dem OnEreigniss auf das Object zu zugreifen- geht es nicht..
Delphi-Quellcode:
Der Sender hat komische Werte...!!!!
Quellcode: markieren
procedure FTPWorkEnd(self : TObject; Sender: TObject; AWorkMode: TWorkMode); begin TidFTP(Sender).Disconnect; end; Wie kann ich das Problemm umgehen...? |
Re: On Ereignisse zur Laufzeit hinzufuegen
Moin:
Delphi-Quellcode:
dann siehst du auch ob es tatsäcjlich ein ftp-ding ist :wink:
Quellcode: markieren
procedure FTPWorkEnd(self : TObject; Sender: TObject; AWorkMode: TWorkMode); begin if sender is TidFtp then TidFTP(Sender).Disconnect; end; // Edit: moment mal: seh grad du machst das mit ner regulären procedure! Warum das? macht normal keinen sinn? Aber wenn du die addresse des events ermittelst (@bla) dann musst du aber auch die daten ermitteln, sprich das object angeben, sonst ist self nachher nicht definiert:
Delphi-Quellcode:
sonst kann das imo nur fehlschlagen :wink:
var m:TMethod;
.. m.code := @bla; m.data := das object das später als self übergeben werden soll! ... FFTPConnections[high(FFTPConnections)].FFTPConnction.OnWorkEnd := TDerEventTyp(m); |
Re: On Ereignisse zur Laufzeit hinzufuegen
Spasiba Maksimov....:)))
|
Re: On Ereignisse zur Laufzeit hinzufuegen
pasalschta!
|
Re: On Ereignisse zur Laufzeit hinzufuegen
Delphi-Quellcode:
soweit das der Richtigkeit entschpricht.....!?
OnWorkEndMethod.Code := @FTP1WorkEnd;
OnWorkEndMethod.Data := @FFTPConnections[high(FFTPConnections)].FFTPConnction; @FFTPConnections[high(FFTPConnections)].FFTPConnction.OnWorkEnd := TWorkEndEvent(OnWorkEndMethod); |
Re: On Ereignisse zur Laufzeit hinzufuegen
Товарищ Максимов...:)))
Если вы знаете метод упрошяющий ету процедуру обясните пожалуста... |
Re: On Ereignisse zur Laufzeit hinzufuegen
HeT! 3T0 NET Xapascho :stupid:
Delphi-Quellcode:
R idu b skafu *die letzten paar brocken russisch hervor kram*
OnWorkEndMethod.Data := FFTPConnections[high(FFTPConnections)].FFTPConnction; // @ wäre doppelt gemoppelt, da objekte ja schon pointer sind
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz