[delphi] - stap 'creeren' forms/openen mainform

Pagina: 1
Acties:

  • MisterE
  • Registratie: April 2002
  • Laatst online: 28-08 19:15
Ik vraag me af of er een 'stap' is tussen het 'creeren' van alle
forms en het laden/zichtbaar maken van de 'MainForm'

Neem dit voorbeeld:

Application.CreateForm(Form1, DDMainForm);
Application.CreateForm(Form2, DDConfigForm);
ReadIniSettings;
Application.Run;

Ik wil dus 'weten' wanneer 'ReadIniSettings/application.run' uigevoerd word.

Ik zeg er dus ff bij dat Form1.create is voordat Form2 gecreerd is.
Form1.onshow word elke keer uitgevoerd wanneer je minimalisatie (vanuit de tray)
ongedaan maakt. Initialization is voordat beide forms gecreerd worden.
En onActivate word elke keer uitgevoerd wanneer de form de focus krijgt.

Die zijn het dus niet!!

Ik heb dus in mijn 'startup' procedure settings nodig van beide formulieren.
Wat ik nu dus bereik met procedure 'ReadIniSettings'
Ik vraag me dus af of er een andere mogelijkheid is....

Hoop dat ik het een beetje duidelijk uitgelegd heb.

  • Knutselsmurf
  • Registratie: December 2000
  • Laatst online: 01-09 17:40

Knutselsmurf

LED's make things better

Volgens mij wordt in de Application.Createform de FormCreate van een Form uitgevoerd.Het eenvoudigst om dit te testen is natuurlijk een kleine Create bij je forms maken en dan even tracen met F7.

- This line is intentionally left blank -


  • MisterE
  • Registratie: April 2002
  • Laatst online: 28-08 19:15
het probleem is dus als form1 gemaakt word (create) dan is form2 nog niet in het memory geladen. ik wil dus wat settings weten van form2 maar dat bestaat dus nog niet op dat moment.

Als je kijkt op het moment dat ik 'Readinisettings' aanroep dat zijn beide forms al wel geladen maar nog geen form is 'visible'. Nou zou ik graag deze 'event' ook in mijn Form1 hebben, natuurlijk kan ik de deze call van mijn .dpr gebruiken maar ik vraag me af of er al niet iets standaard hiervoor is....

  • Delphi32
  • Registratie: Juli 2001
  • Laatst online: 31-08 21:58

Delphi32

Heading for the gates of Eden

Op zondag 28 juli 2002 22:04 schreef MisterE het volgende:
het probleem is dus als form1 gemaakt word (create) dan is form2 nog niet in het memory geladen. ik wil dus wat settings weten van form2 maar dat bestaat dus nog niet op dat moment.
Begrijp ik het goed als ik zeg dat je in Form1.Create/Show/whatever wilt weten wat de settings van Form2 zijn?

Ik hoop dat ik het mis heb, anders moet ik hier een verhaal gaan ophangen over loose coupling, undesired dependencies en dergelijke. Of dat je misschien de opzet van je settings wat moet aanpassen :)

  • Kool
  • Registratie: September 1999
  • Niet online
Je kunt de OnShow of OnActivate gebruiken, en om te zorgen dat die code maar 1 keer uitgevoerd wordt zet je aan het einde b.v.
OnActivate = nil
Om de eventhandler uit te schakelen.
Als je dus de OnActivate van je MainForm gebruikt, is alles al gecreeerd.
Snappie?