AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Event-Handler ohne visuelle Komponente

Ein Thema von realchanti · begonnen am 15. Sep 2008 · letzter Beitrag vom 15. Sep 2008
Antwort Antwort
realchanti

Registriert seit: 13. Feb 2006
Ort: Hannover
8 Beiträge
 
Delphi 7 Professional
 
#1

Event-Handler ohne visuelle Komponente

  Alt 15. Sep 2008, 09:57
Hallo DP,

ich versuche dynamisch mehrere Komponenten zu erzeugen und zu zerstoeren. Die Komponenten haben Events die ich gerne benutzen möchte um Folgeprozesse und Routinen anzustossen.

Um das Programm zu modularisieren habe ich eine Unit ( ohne Formular) benutzt. Da die Komponenten dynamisch erstellt werden und nicht einem formular zugeordnet sind habe ich keine Visuelle Komponente. Zur Verwaltung nutze ich eine TObjectList. Das erstellen und zerstoren klappt ohne Probleme. Jedoch bekomme ich nicht eine Eventhandler Procedure an die dynamisch erstellten Komponente uebergeben. Damit bei einem z.b. disconnect oder connect event eine Handler routine angestossen werden kann.

Benötige ich unbedingt ein Formular auch wenn kein Fenster benoetigt wird?

Gruss

RC
--
Wie geht man mit Kritik um:
Tief durchatmen dreimal schlucken und eine zurückhaltnenes sanftmütiges Lächeln auflegen. Danach sich bedanken und gehen.
3 Wochen spätere nochmal darüber anchdenken.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Event-Handler ohne visuelle Komponente

  Alt 15. Sep 2008, 10:06
BRauchst du jetzte eine Windows-Messageverarbeitung oder nut Event-MEthoden?
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
realchanti

Registriert seit: 13. Feb 2006
Ort: Hannover
8 Beiträge
 
Delphi 7 Professional
 
#3

Re: Event-Handler ohne visuelle Komponente

  Alt 15. Sep 2008, 10:19
Ich weiss einfach nicht wie ich die procedure fuer die Events an die dynamisch erstellten komponenten uebergebe.
Beispiel:
Ich erstelle ine FTP client
Delphi-Quellcode:
function Build_Single_FTP_Client:Integer;
  edcftp := TIdFTP.Create(nil); // weil durch die TObjectliste verwaltet werden soll.
  if assigned(edcftp) then begin
      edcftp.Name := 'SimpleFtpClient_'+inttostr(ExistingClients+1); // es wird ab 1 hoch gezaehlt fuer die FTP client Namen
      SCFTP_Idx := SCftp.cftpClientList.Add(edcftp); // rueckgabewert
      edcftp.TransferType := ftBinary; /// binaere uebertragung
      edcftp.OnConnect := WithConnectClient; // diese ueberage funktioniert nicht wenn es nicht in einem Formular geschieht
    end;
  Result := SCFTP_Idx;
end;
Und ich erstelle eine Event Routine:
Delphi-Quellcode:
procedure WithConnectClient(Sender: TObject);
begin
    // ..... irgend ein Code
end;
Ich denke das es nur an der Korrekten Zuweisung der Eventmethode liegt.

Also was verstehe ich falsch?

Gruss und Danke
--
Wie geht man mit Kritik um:
Tief durchatmen dreimal schlucken und eine zurückhaltnenes sanftmütiges Lächeln auflegen. Danach sich bedanken und gehen.
3 Wochen spätere nochmal darüber anchdenken.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Event-Handler ohne visuelle Komponente

  Alt 15. Sep 2008, 10:28
Es wird eine Mthode erwartet, keine Procedure. Die Methode muss nicht die eines Formulars sein, aber sie muss zu einem Objekt gehören.

Edit: Wahrscheinlich hast du in deiner Unit kein Objekt erstellt. Das könnte sich noch an anderen Stellen als ungünstig erweisen. Nicht nur hier. Versuch mal in deiner Unit alles als ein Objekt zu kapseln.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
realchanti

Registriert seit: 13. Feb 2006
Ort: Hannover
8 Beiträge
 
Delphi 7 Professional
 
#5

Re: Event-Handler ohne visuelle Komponente

  Alt 15. Sep 2008, 10:39
Hmm,

nun gelesen habe ich ja Deine antwort, nur weiss ich jetzt leider noch nicht wie ich es loesen kann. Da der dynamisch erstelte Ftp Client ja eingentlich eine Komponente ist und begreife ich nun nicht wie ich jetzt an eine Methode komme?

Wie gesagt das Verfahren ist bei dem Weg zur Designtime ja einfach und klar nur beim dynamischen hängt es.
Hast Du noch einen Tipp, sirius?

Du meinst eine eigene Kompoenente zu erstellen?

Gruss und schaem
RC
--
Wie geht man mit Kritik um:
Tief durchatmen dreimal schlucken und eine zurückhaltnenes sanftmütiges Lächeln auflegen. Danach sich bedanken und gehen.
3 Wochen spätere nochmal darüber anchdenken.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Event-Handler ohne visuelle Komponente

  Alt 15. Sep 2008, 10:43
Zitat von realchanti:
Du meinst eine eigene Kompoenente zu erstellen?
Ja, Zumindest ein eigenes Objekt. Ist soweiso besser in einer (größtenteils) objektorientierten Sprache.


Man könnte es jetzt auch noch anders zusammenwurschteln. Aber dann würde ich gleich ein Objekt nehmen.


Wie sieht es denn bisher in deiner Unit aus? Also alles was nicht zu einer Procedure oder Function gehört?
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
realchanti

Registriert seit: 13. Feb 2006
Ort: Hannover
8 Beiträge
 
Delphi 7 Professional
 
#7

Re: Event-Handler ohne visuelle Komponente

  Alt 15. Sep 2008, 11:09
Hmm, auch wenn ich diesen AUfwand gescheut habe, nun habe ich es in eine TComponent hineingebaut und klappt ohne Problem.

Danke fuer die Ratschlaege.

RC
--
Wie geht man mit Kritik um:
Tief durchatmen dreimal schlucken und eine zurückhaltnenes sanftmütiges Lächeln auflegen. Danach sich bedanken und gehen.
3 Wochen spätere nochmal darüber anchdenken.
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:11 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