AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

On Ereignisse zur Laufzeit hinzufuegen

Ein Thema von m0sch3r · begonnen am 13. Aug 2004 · letzter Beitrag vom 13. Aug 2004
Antwort Antwort
m0sch3r

Registriert seit: 29. Mär 2004
121 Beiträge
 
Delphi 7 Enterprise
 
#1

On Ereignisse zur Laufzeit hinzufuegen

  Alt 13. Aug 2004, 13:38
Hi

Einem Socket werden die On Ereignisse zu Laufzeit hinzugefügt
@FFTPConnections[high(FFTPConnections)].FFTPConnction.OnWorkEnd := @FTP1WorkEnd; Klapt ganz gut.Das On Ereignis wird aufgerufen...jedoch
Wenn ich dann versuche in dem OnEreigniss auf das Object zu zugreifen- geht es nicht..
Delphi-Quellcode:
Quellcode: markieren
procedure FTPWorkEnd(self : TObject; Sender: TObject; AWorkMode: TWorkMode);
begin
          TidFTP(Sender).Disconnect;
end;
Der Sender hat komische Werte...!!!!

Wie kann ich das Problemm umgehen...?
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#2

Re: On Ereignisse zur Laufzeit hinzufuegen

  Alt 13. Aug 2004, 14:25
Moin:
Delphi-Quellcode:
Quellcode: markieren
procedure FTPWorkEnd(self : TObject; Sender: TObject; AWorkMode: TWorkMode);
begin
  if sender is TidFtp then TidFTP(Sender).Disconnect;
end;
dann siehst du auch ob es tatsäcjlich ein ftp-ding ist

// 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:
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);
sonst kann das imo nur fehlschlagen
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
m0sch3r

Registriert seit: 29. Mär 2004
121 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: On Ereignisse zur Laufzeit hinzufuegen

  Alt 13. Aug 2004, 14:28
Spasiba Maksimov....))
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#4

Re: On Ereignisse zur Laufzeit hinzufuegen

  Alt 13. Aug 2004, 14:32
pasalschta!
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
m0sch3r

Registriert seit: 29. Mär 2004
121 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: On Ereignisse zur Laufzeit hinzufuegen

  Alt 13. Aug 2004, 14:49
Delphi-Quellcode:
         OnWorkEndMethod.Code := @FTP1WorkEnd;
         OnWorkEndMethod.Data := @FFTPConnections[high(FFTPConnections)].FFTPConnction;

         @FFTPConnections[high(FFTPConnections)].FFTPConnction.OnWorkEnd := TWorkEndEvent(OnWorkEndMethod);
soweit das der Richtigkeit entschpricht.....!?
  Mit Zitat antworten Zitat
m0sch3r

Registriert seit: 29. Mär 2004
121 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: On Ereignisse zur Laufzeit hinzufuegen

  Alt 13. Aug 2004, 15:07
Товарищ Максимов...))

Если вы знаете метод упрошяющий ету процедуру обясните пожалуста...
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#7

Re: On Ereignisse zur Laufzeit hinzufuegen

  Alt 13. Aug 2004, 15:22
HeT! 3T0 NET Xapascho
OnWorkEndMethod.Data := FFTPConnections[high(FFTPConnections)].FFTPConnction; // @ wäre doppelt gemoppelt, da objekte ja schon pointer sind R idu b skafu *die letzten paar brocken russisch hervor kram*
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:21 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