Delphi-PRAXiS
Seite 4 von 5   « Erste     234 5      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   OTA - komplexer Experte (https://www.delphipraxis.net/204563-ota-komplexer-experte.html)

jaenicke 29. Jun 2020 18:31

AW: OTA - komplexer Experte
 
All das und noch viel mehr kann die VirtualTreeView sehr gut. ;-)

stahli 6. Jul 2020 14:56

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?

dummzeuch 6. Jul 2020 16:05

AW: OTA - komplexer Experte
 
Zitat:

Zitat von stahli (Beitrag 1468947)
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?

Ich würde definitiv den Installer aufrufen statt den Code zu duplizieren. Das hat auch den Vorteil, dass der Code nicht innerhalb Delphi IDE ausgeführt wird und deshalb auch den Start der IDE nicht verzögert.

stahli 11. Jul 2020 20:15

AW: OTA - komplexer Experte
 
Hier mal ein kurzes Video, wie die Wizards upgedated werden: https://youtu.be/J138-YertKc

Und noch eins, wie der Installer sich selbst updatet: https://youtu.be/lRS03VDDpwQ

stahli 14. Jul 2020 22:52

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: https://youtu.be/00p1nSQwN28

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;

stahli 15. Jul 2020 20:26

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;

Uwe Raabe 15. Jul 2020 21:26

AW: OTA - komplexer Experte
 
Zitat:

Zitat von stahli (Beitrag 1469677)
Allerdings stürzt Delphi beim deinstallieren oder neuerlichen installieren des Packages manchmal stumpf ab.

...

Die DLL-Variante ist weiterhin stabil (jedenfalls habe ich keine Probleme festgestellt).

Die DLL kann man ja auch nicht deinstallieren.

stahli 15. Jul 2020 21:35

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?

Uwe Raabe 15. Jul 2020 22:02

AW: OTA - komplexer Experte
 
Zitat:

Zitat von stahli (Beitrag 1469680)
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?

Im Prinzip schon. Allerdings hatte ich auch schon Probleme, ein Package reibungslos zu entladen und danach wieder zu laden. Das muss nicht mal an dem Package selbst liegen. Am Ende belässt man es dann einfach dabei, da der Anwender es ja in der Regel auch nicht so häufig entlädt und wieder lädt.

stahli 15. Jul 2020 22:25

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 20:38 Uhr.
Seite 4 von 5   « Erste     234 5      

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