![]() |
anweisungen direkt auf formular durchführen
hey leute ,
gibt es eine möglichkeit, dass ich auf einem formulare ohne das etwas passiert ist schon sachen gemacht werde, also bspw. wenn ich ein neues formular öffne, dass dann bestimmte einträge in eine listbox o.ä. gemacht werden und die werte aus variablen sind... ich möchte dabei aber nicht die werte durch eine prozedur auf einem anderen formular machen danke :) |
AW: anweisungen direkt auf formular durchführen
OnShow, OnActivate, OnCreate etc., was in Deinem Fall am Besten passt.
|
AW: anweisungen direkt auf formular durchführen
Du hast jede Menge Events an die Du etwas anhängen kannst....
OnCreate,OnShow,OnActivate etc. Du kannst den Konstruktor überschreiben, einen Timer verwenden und und und und .... |
AW: anweisungen direkt auf formular durchführen
ich hab jetzt mal danach gegoogelt und kam dann nur auf klassenerstellung etc., damit bin ich aber noch nicht vertraut und ein verständnisvolles tutorial welches meinem problem weiterhelfen könnte habe ich nicht gefunden , könntet ihr mir jetzt mal ein beispiel liefern, wie ich das z.b. praktisch umsetzen könnte
|
AW: anweisungen direkt auf formular durchführen
Zitat:
![]() |
AW: anweisungen direkt auf formular durchführen
ok aber ich weiß nicht wie ich das auf mein problem anwenden kann
|
AW: anweisungen direkt auf formular durchführen
Vielleicht haben wir das Problem auch noch nicht verstanden. Nimm doch testhalber mal ein Formular mit einer ListBox, wechsel im Objektinspektor auf "Ereignisse" und mach einen Doppelklick neben "OnShow". Und da trägst Du dann ein:
Delphi-Quellcode:
Oder meintest Du etwas völlig anderes?
var
i: integer; begin ListBox1.Items.BeginUpdate; try ListBox1.Items.Clear; for i := 1 to 100 do ListBox1.Items.Add(IntToStr(i)); finally ListBox1.Items.EndUpdate; end; end; |
AW: anweisungen direkt auf formular durchführen
ne ihr wart richtig...genau so hab ich es gemeint...hatte oncreate verwendet ging dann nämlich nicht
find ich echt nett dass ihr so geduldig seid :-D danke |
AW: anweisungen direkt auf formular durchführen
OnCreate wird ausgeführt, wenn das Formular erzeugt wird. Falls Du die automatische Formularerstellung eingeschaltet hast, werden die Formulare beim START des Programmes erzeugt. Dann ist es vermutlich etwas zu früh, die Listbox mit Daten zu befüllen.
OnShow wird immer aufgerufen, bevor das Formular sichtbar wird. OnActivate wird immer aufgerufen, wenn das Formular angeklickt wird (und vorher im Hintergrund war) Du musst vielleicht ein wenig aufpassen, denn die beiden Events werden also während der Lebensdauer eines Formulars öfter aufgerufen. Wenn ich etwas nur beim erstmaligen Anzeigen eines Formulars ausführen will, merke ich mir einfach, ob die Routine schon durchlaufen wurde, etwa so:
Delphi-Quellcode:
So, OnActivate wird zwar mehrfach aufgerufen, aber InitialisiereEinmaligIrgendwelcheSachen() wird maximal 1x aufgerufen.
Procedure TMyForm.OnActivate (Sender : TObject);
Begin If fOnActivateWurdeSchonDurchlaufen Then exit; // fOnActivate... ist ein privates Feld der TMyForm-Klasse InitialisiereEinmaligIrgendwelcheSachen(); fOnActivateWurdeSchonDurchlaufen := True; End; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 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 by Thomas Breitkreuz