AGB  ·  Datenschutz  ·  Impressum  







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

Probleme mit OnCreate Event

Ein Thema von Neutral General · begonnen am 5. Okt 2007 · letzter Beitrag vom 5. Okt 2007
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#11

Re: Probleme mit OnCreate Event

  Alt 5. Okt 2007, 13:45
Du könntest die OnCreate-Methode als Parameter des Konstruktors übergeben (oder eines alternativen überladenen), also
constructor Create(AOnCreate: TMyEvent);
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
kolbaschedder

Registriert seit: 24. Aug 2006
Ort: Schwäbisch Gmünd
55 Beiträge
 
Delphi 2006 Professional
 
#12

Re: Probleme mit OnCreate Event

  Alt 5. Okt 2007, 13:48
Delphi-Quellcode:

TKlasse = class(TComponent) <---- Hier ändern
private
  FOnCreate: TMyEvent;
  // bla
public
  // bla
  constructor Create;override; <----- das muss geändert werden
published <----- und vorallem das
 property OnCreate: TMyEvent read FOnCreate write FOnCreate;
end;

constructor TKlasse.Create;
begin
  inherited Create;
  if Assigned(FOnCreate) then
    FOnCreate;
end;
Du musst das ganze von TComponent ableiten, und über RegisterComponents (am besten in einem eigenen package) installieren. Danach kannst du die Komponente in der IDE verwenden.

Alle als published!! deklarierten Properties lassen sich dann über die IDE bzw., ObjectInspector verwenden
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#13

Re: Probleme mit OnCreate Event

  Alt 5. Okt 2007, 13:49
Zitat von Flocke:
Du könntest die OnCreate-Methode als Parameter des Konstruktors übergeben (oder eines alternativen überladenen), also
constructor Create(AOnCreate: TMyEvent);
So hatte ich es auch schonmal aber wie soll das gehn? (Früher gings aber da sah mein ganzes System etwas anders aus)

abc := TDings.Create(abc.CreateDings); // abc.CreateDings gibts noch nicht Wenn ich TDings.CreateDings als Parameter übergeben will dann willer nicht compilieren. Außerdem muss dann CreateDings public sein was ich auch nicht unbedingt will.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#14

Re: Probleme mit OnCreate Event

  Alt 5. Okt 2007, 14:27
Moment! Du willst die Methode deiner eigenen Klasse benutzen, um sie im Create dann wieder aufzurufen? Wofür machst du den ganzen Mist denn dann?

Wenn du das machen möchtest, was ich denke, dann definiere in der Basisklasse eine leere virtuelle Methode "AfterCreate", die im Konstruktor als allerletztes aufgerufen wird, und die du in abgeleiteten Klassen nach Belieben überschreiben kannst.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

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

Re: Probleme mit OnCreate Event

  Alt 5. Okt 2007, 14:35
Ich glaube der General möchte sein eigenes kleines VCL-Package schreiben ohne die VCL von Borland zu nutzen
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#16

Re: Probleme mit OnCreate Event

  Alt 5. Okt 2007, 14:38
Zitat von sirius:
Ich glaube der General möchte sein eigenes kleines VCL-Package schreiben ohne die VCL von Borland zu nutzen
Psssst das is doch noch streng geheim
Naja aber so könnte man es fast bezeichnen. sirius hat nicht ganz unrecht
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
hermannhass

Registriert seit: 23. Dez 2006
Ort: Nähe Las Palmas
69 Beiträge
 
#17

Re: Probleme mit OnCreate Event

  Alt 5. Okt 2007, 15:00
Ich würde die afterconstruction-procedure ableiten
also
im Interface
Protected
procedure afterconstruction; override;


Und dann
procedure <class>.afterconstruction;
begin
inherited
if assigned(oncreate) then oncreate(self);
end;

Ist somit rein komponentenabhängig...
ist oncreate eine published property, kannst Du sie auch
im Objectinspector nutzen.
Bei Oncreate ist die dfm eines evtl. formulars schon gelesen.
ich glauve, dass ist genau, was du suchst....
Entwickle SW mit Delphi 2006 und sql.
Lebe auf Gran Canaria.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#18

Re: Probleme mit OnCreate Event

  Alt 5. Okt 2007, 16:23
Hi,

Hab nen Plan..RTTI.. Also nehmen wir an wir haben folgendes:

Delphi-Quellcode:
{$M+}
TDings = class(TKlasse)
published
  procedure FormCreate;
end;
{$M-}
kommt man jetzt an den Pointer zu der FormCreate procedure?
Ich hab es versucht mit

GetMethodProp(Self,'FormCreate')

Zitat:
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project1.exe ist eine Exception der Klasse EPropertyError mit der Meldung 'Eigenschaft FormCreate existiert nicht.' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------
Das MUSS einfach mit der RTTI gehn! :X

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

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

Re: Probleme mit OnCreate Event

  Alt 5. Okt 2007, 18:02
Das würde ja bedeuten, dass die Methode immer "FormCreate" heißen muss.
Ist ne Lösung, aber dann kannst du gleich AfterConstruction nehmen. Das wird auch automatisch nach Create aufgerufen (und ist in TObject erstmal leer)
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#20

Re: Probleme mit OnCreate Event

  Alt 5. Okt 2007, 18:10
Wie man an dem Namen GetMethodProp sieht, ist das ganze für Eigenschaften (nämlich Events) gedacht.
Aber was spricht denn bitte gegen eine virtuelle Methode? Selber Effekt, aber performanter, leichter zu verstehen und OOP-konform.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 23:48 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