![]() |
AW: OTA - komplexer Experte
All das und noch viel mehr kann die
![]() |
AW: OTA - komplexer Experte
Jetzt funktioniert alles schon sehr gut. :-)
Die Exe kann sich selbst updaten (Neustart wird über Batch geregelt) und die einzelnen Delphi-Wizards können auch problemlos installiert/geupdatet werden. Letzte Aufgabe diesbezüglich ist die Verfügbarkeitsprüfung von Updates für die Wizards, wenn Delphi gestartet wird. Ich könnte mir das so vorstellen, dass bei der Initialisierung nach dem Start vom jeweiligen Delphi jeder Wizard prüft, ob für ihn ein Update verfügbar ist. Dazu müsste ich allerdings die Prüfung aus dem Installer (der lädt eine Liste aus dem Netz und vergleicht die Zeitstempel) nochmal in jedem Wizard für einen einzelnen Eintrag nachbauen. Dann könnte eine Info ausgegeben werden: "Bitte Installer starten und updaten!". Oder ich starte einfach den Installer mit einem Parameter "/quiet /10.4" und der prüft auf ein Update für diese Version. Wenn verfügbar bleibt er auf und zeigt das Formular an. Wenn nicht verfügbar beendet er sich wieder. Wie würdet Ihr es lösen? |
AW: OTA - komplexer Experte
Zitat:
|
AW: OTA - komplexer Experte
Hier mal ein kurzes Video, wie die Wizards upgedated werden:
![]() Und noch eins, wie der Installer sich selbst updatet: ![]() |
AW: OTA - komplexer Experte
Hallo zusammen,
ich habe mal eine Bitte an die OTA-Profis unter Euch... Ich nutze zwei DockableForms. Bei einer eingebundenen DLL funktioniert alles perfekt. Wenn ich allerdings das Package installiere (um den Wizard debuggen zu können) stürzt Delphi beim Schließen oder beim deinstallieren des Packages ab. Das ist etwas schwer genau zu beschreiben. Ich habe mal ein Video erstellt: ![]() Hat jemand mal Zeit und Lust, sich das anzusehen? Ich komme einfach nicht weiter. Das Problem ist also das Erzeugen der Formulare innerhalb eines installierten Packages. So sehen die Formularmethoden aus:
Delphi-Quellcode:
{ TFullSearchForm }
class procedure TFullSearchForm.CreateDockForm; begin if not Assigned(FormInstance) then CreateDockableForm(FormInstance, TFullSearchForm); end; class procedure TFullSearchForm.ShowHideDockForm; begin CreateDockForm; ShowHideDockableForm(FormInstance); end; class procedure TFullSearchForm.RemoveDockForm; begin Codesite.Send('-> TFullSearchForm.RemoveDockForm'); FreeDockableForm(FormInstance); Codesite.Send('<- TFullSearchForm.RemoveDockForm'); end; |
AW: OTA - komplexer Experte
Ich habe jetzt dem Formular Application als Owner zugewiesen.
Jetzt funktioniert das Öffnen, Schließen und Debuggen des Projektes. Allerdings stürzt Delphi beim deinstallieren oder neuerlichen installieren des Packages manchmal stumpf ab. Daher will ich nochmal nachfragen, ob vielleicht doch noch jemand einen Tipp hat. Notfalls könnte ich zwar erst mal weiter arbeiten und müsste gelegentlich Delphi neu starten, aber schön ist das nicht. Die DLL-Variante ist weiterhin stabil (jedenfalls habe ich keine Probleme festgestellt).
Delphi-Quellcode:
procedure CreateDockableForm(var FormVar: TDockableFormBase; FormClass: TDockableFormBaseClass);
begin Codesite.Send('-> CreateDockableForm'); TCustomForm(FormVar) := FormClass.Create(Application); // <------------ statt nil RegisterDockableForm(FormClass, FormVar, TCustomForm(FormVar).Name); Codesite.Send('<- CreateDockableForm'); end; |
AW: OTA - komplexer Experte
Zitat:
|
AW: OTA - komplexer Experte
Das stimmt.
Aber um das Package weiter zu entwickeln und zu debuggen muss man es ja deinstallieren bzw. neu installieren. Sollte das nicht grundsätzlich machbar sein? |
AW: OTA - komplexer Experte
Zitat:
|
AW: OTA - komplexer Experte
Ok vielen Dank.
Dann werde ich erst mal versuchen, so weiter zu arbeiten. Wird halt den einen oder anderen zusätzlichen Neustart notwendig machen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:53 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