Delphi-PRAXiS
Seite 6 von 6   « Erste     456   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi DFM-Datei in anderem Programm als Vorschau anzeigen (https://www.delphipraxis.net/185909-dfm-datei-anderem-programm-als-vorschau-anzeigen.html)

Rollo62 25. Jul 2015 08:36

AW: DFM-Datei in anderem Programm als Vorschau anzeigen
 
Hallo Harry,

das sieht ja sehr gut aus, mit oder ohne Frames :-)

Aber mir ist die Anwendung nicht ganz klar.
1. Dein aktuelles Programm jetzt ist also gedacht als schneller File-Viewer, mit dem man etwas mehr machen kann.
Ok, das verstehe ich, obwohl ich zumindest meist direkt Delhi nutze.
Könnte aber helfen wenn mal wieder Komponenten oder Links in den Forms fehlen, und Delphi meckert, um
mal zu sehen was da los ist.

2. Eine Anwendung speziell für den Designer finde ich auch sehr interessant, als Design/Kommentar Anwendung.
Das sollte die Kommunikation wesentlich vereinfachen.
Eventuell gleich mit Übersetzungs-Funktion, um die Felder bei verschiedenen Sprachen richtig zu füllen.

3. Sehe ich ein Programm um mit Firemonkey Styles zu arbeiten, (ala MonkeyStyler)
und vor allem um Styles evtl. aus mehreren Quellen/Libraries zu mischen, und entsprechend dafür zu sorgen
in allen Platformen richtig anzuzeigen.
Damit Win, Max, iOS, Android alle z.B. Änderungen an den Styles mitbekommen, und bestenfalls nur ein Code gepflegt
werden müsste.
Also ein Delphi Style-Designer++

Wie du siehst kannst du direkt 3 Programme bauen, aus der Basis die du da hast
(und vielleicht gibt es noch mehr Ideen) :-)

Bin gespannt ...

Rollo

Harry Stahl 25. Jul 2015 15:50

AW: DFM-Datei in anderem Programm als Vorschau anzeigen
 
@Rollo62

Zu 1: Klar, wenn ich in eine DFM-Datei reinsehen musste, habe ich bislang natürlich auch Delphi genommen. Wenn in dieser DFM Datei aber abgeleitete Komponenten drin sind und man z.B. nur ein andere Seite vom TNotebook wählt, wertet Delphi das als Änderung und will die Datei speichern. Das geht aber wegen der abgeleiteten Komponenten nicht. Ergo kann ich mein Projekt erst wieder kompilieren, wenn ich die DFM Datei geschlossen habe. Muss ich da noch mal reinschauen, beginnt das ganze Spiel vom neuen...

Zu 2. Soweit habe ich noch gar nicht gedacht...

Zu 3. Ich möchte hier in einem zweiten Schritt in der Tat auch FireMonkey Forms anzeigen. In File-IO ist es nur ein DFM-Viewer, in meinem Texteditor-Programm sollen aber auch Editier-Möglichkeiten hinzukommen, da dachte ich speziell an die Styles, die in Delphi bislang immer noch nicht akzeptabel editiert werden können (wobei mir lieber wäre, Emba kommt mir zuvor und macht da Ergänzungen in jeder Hinsicht überflüssig:)).

Harry Stahl 25. Jul 2015 15:54

AW: DFM-Datei in anderem Programm als Vorschau anzeigen
 
Frage: Wenn die Anwender eigene DLL-Dateien erstellen sollen, um "Ihre" Komponentensammlungen (z.B. TMS, DevExpress, TRichview, Jedi, usw) einzubinden, muss man den Unit-Namen hinzufügen und dann mit RegisterClass die Komponente registrieren.

Zu wissen, welche Komponente in welcher Unit ist, ist manchmal gar nicht so einfach zu ermitteln, bzw. wenn man das für 100 Komponenten selber machen soll, einfach zu viel Arbeit.

Gibt es eine Möglichkeit, z.B. aus einer BPL-Datei die enthaltenden Komponenten auszulesen, incl. der dazu passenden Unit-Namen? Dann könnten man diesen Vorgang halbwegs automatisieren.

CCRDude 27. Jul 2015 15:08

AW: DFM-Datei in anderem Programm als Vorschau anzeigen
 
Schau Dir mal die Export-Tabelle einer BPL an. Die Exports haben Namen der Form @unit@klasse@funktion$...typenkram, vereinfacht gesagt. Beispielsweise @Virtualtrees@TVirtualTreeColumn@IsColorStored$qqr v.

Harry Stahl 29. Jul 2015 00:04

AW: DFM-Datei in anderem Programm als Vorschau anzeigen
 
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Zitat von CCRDude (Beitrag 1309946)
Schau Dir mal die Export-Tabelle einer BPL an. Die Exports haben Namen der Form @unit@klasse@funktion$...typenkram, vereinfacht gesagt. Beispielsweise @Virtualtrees@TVirtualTreeColumn@IsColorStored$qqr v.

Wie kann ich mir die Export-Tabelle der BPL ansehen? Die BPL ist doch eine Binär-Datei.

Mittlerweile habe ich die Ansicht für FMX-Formulare ergänzt (siehe Screenshot 1). Bei Bedarf kann man VCL und FMX-Formulare gleichzeitig ansehen (Screenshot 2).

Insgesamt ist es eine ganz schöne Fummelei. Man muss die Formulare nach dem Einlesen "anpassen", so dass die Delphi Reader-Klasse nicht über fehlende Klassen stolpert und dann muss sich das Programm die fehlenden Klassen aus Klassen-DLL's nachladen und die Form selber komponieren. Nicht ganz trivial. Zwar machbar, aber viel Fummelei, kostete daher bislang mehr Zeit als gedacht. Aber ich ziehe das jetzt durch.

In ca. 1 Woche werde ich mal eine öffentlich Beta rausbringen.

BUG 29. Jul 2015 10:02

AW: DFM-Datei in anderem Programm als Vorschau anzeigen
 
Zitat:

Zitat von Harry Stahl (Beitrag 1310075)
Die BPL ist doch eine Binär-Datei.

Und afaik eine im PE-Format (dll). ErazerZ hat da mal was in der DP veröffentlicht.

Harry Stahl 29. Jul 2015 17:06

AW: DFM-Datei in anderem Programm als Vorschau anzeigen
 
Kann ich leider nichts mit anfangen. Habe mal die Zip-Datei geladen, aber nichts darin gefunden, was mir hier die gewünschten Informationen liefern könnte.

Harry Stahl 28. Feb 2016 21:58

AW: DFM-Datei in anderem Programm als Vorschau anzeigen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich will nicht gerade sagen, dass ich die Sache jetzt zum Abschluss gebracht hätte. Nein, von gewissen Vorstellungen muss ich mich sicher verabschieden (wahrscheinlich von dem Einbindungen von Drittkomponenten über PlugIn-DLL's).

Aber ich melde mich noch mal, weil die beiden Viewer-Hilfsprogramme (für DFM- und FMX-Formulardateien) nun kostenlos zur Verfügung stehen.

Ich habe das jetzt so gelöst, dass man die Funktion nicht nur in meinem eigenen Datei-Manager (File-IO) verwenden kann, sondern auch in anderen Datei-Managern, wo man für bestimmte Dateitypen eigene Viewer einbinden kann.

Normalerweise funktioniert das dann so, dass der Dateimanager für den entsprechenden Dateitypen, zB."DFM" die "ShowVCL.exe" aufruft und für "FMX" eben die "ShowFMX.exe" und als Paramenter eben den Dateinamen übergibt.

Die Hilfsprogramme haben - das muss man ganz klar sagen - Betastadium, werde da aber noch dran arbeiten, für einige Dinge muss ich mir auch noch etwas Klarheit schaffen. Davon abgesehen, habe ich einen FMX-Viewer noch gar nicht gesehen und die (wenigen) DFM-Viewer hatten auch alle so Ihre Beschränkungen. Während mein File-IO Dateimanager DPI-Aware ist, sind es die Hilfsprogramme nicht, aber das ist gut so, weil Windows dann die Formulare richtig hochskaliert. Sind dann dort ein wenig unscharf, aber eben vernünftig betrachtbar.

Um mal schnell zu sehen, worum es geht, könnt Ihr hier auch ein kurzes Video ansehen:

https://youtu.be/rC0cWRnU200

Kleiner Screenhshot in der Anlage.

Download der Hilfsdateien über diese Seite: http://www.file-io.de, auf der linken Seite den "PlugIn ShowForms.ZIP" Link. Wählen. Ein paar bebilderte Informationen gibt es hier:

http://www.file-io.de/ShowForms.htm

Ach ja, wo ich es jetzt gerade schreibe, wahrscheinlich habe ich vergessen einige Standard-Komponenten (z.B. Datenbankbereich) einzubinden, wenn Jemand mit den Programmen arbeitet und ihm was fehlt, schreibt mir einfach eine kurze Nachricht (oder postet es hier).


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 Uhr.
Seite 6 von 6   « Erste     456   

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