![]() |
IDE Experte - Ist die IDE vollständig geladen?
Wie bekomme ich innerhalb einer IDE-Experten-dll mit, wenn die IDE vollständig geladen ist?
Der Experte wird ja schon aktiv, während Delphi noch garnicht angezeigt wird, bzw. nur der Splashscreen, ich will aber ein Fenster aufpoppen lassen, wenn Delphi "Bereit" ist :roll: |
Re: IDE Experte - Ist die IDE vollständig geladen?
Ich konnte in der ToolsAPI nichts dazu finden. Aber was genau bedeutet "vollständig geladen"? Wenn Du das mit einem sichtbaren IDE-Fenster gleichsetzt, warte auf das Fenster. Wenn Du einen sichtbaren Formulardesigner erwartest, warte auf einen entsprechenden Designer... Was passiert, wenn mehrere Packages auf dieses Ereignis warten und jeweils davon ausgehen, dass nun "alles" geladen ist?
Kurz: Was hast Du vor, geht es genauer? |
Re: IDE Experte - Ist die IDE vollständig geladen?
Na ja, du könntest ja prüfen lanen, ob ein Fenster existiert, das dem Type dessen hat, auf das du warten willst ... in der DP sollte es einiges geben, womit mal prüfen kann, ob ein bestimmtes Fenster-Objekt und damit ein bestimmtes Programm aktiv ist.
|
Re: IDE Experte - Ist die IDE vollständig geladen?
Ja, so mache ich es jetzt ;)
Ich starte jetzt einfach einen Timer, der alle 1000ms prüft ob Delphi bereit ist und dann ggf. loslegt :thumb:
Delphi-Quellcode:
Das Endergebnis gibts >
procedure TQuote.TimerRunTimer(Sender: TObject);
function IdeReady: boolean; var wnd: HWND; begin Result := False; { Prüfen ob IDE geladen ist } wnd := FindWindow('TAppBuilder', nil); Result := wnd <> 0; { Prüfen ob SplashScreen noch angezeigt wird } wnd := FindWindow('TForm', 'SplashScreen'); Result := wnd = 0; end; ... var ... begin TimerRun.Enabled := False; if IdeReady = True then begin //Hier gehts weiter ... end else TimerRun.Enabled := True; end; ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:36 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-2025 by Thomas Breitkreuz