Delphi-PRAXiS
Seite 2 von 2     12   

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)

EWeiss 24. Jul 2015 00:07

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

Ich persönlich finde da nichts brauchbares: Bei Google suchenDMF Viewer
Ich schon mit Bei Google suchenDFM Delphi ;)

gruss

uligerhardt 24. Jul 2015 06:35

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

Zitat von BUG (Beitrag 1309697)
Zitat:

Zitat von EWeiss (Beitrag 1309696)
Such doch mal im Net DMF - Viewer

Ich persönlich finde da nichts brauchbares: Bei Google suchenDMF Viewer

Wechstaben verbuchselt. :-)

http://www.mitec.cz/dfm.html schaut doch interessant aus. Wobei ich auf die Schnelle nicht gesehen habe, ob der mit 3rd-Party-Komponenten klar kommt.

greenmile 24. Jul 2015 07:22

AW: DFM-Datei in anderem Programm als Vorschau anzeigen
 
Das TxQuickView Plugin für den TotalCommander kostet nix und kann DFM Vorschau anzeigen:

http://totalcmd.net/plugring/TxQuickView.html

BUG 24. Jul 2015 09:17

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

Zitat von uligerhardt (Beitrag 1309705)
Wechstaben verbuchselt. :-)

Das hätte ich sehen müssen :oops:

Harry Stahl 24. Jul 2015 18:32

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

Zitat von greenmile (Beitrag 1309708)
Das TxQuickView Plugin für den TotalCommander kostet nix und kann DFM Vorschau anzeigen:

http://totalcmd.net/plugring/TxQuickView.html

Wobei das PlugIn wohl grundsätzlich keine Grafiken anzeigt, wodurch doch eine Menge Informationen verloren gehen. Auch habe ich bei einigen schnellen Vergleichstests selbst bei der Anzeige von reinen Standardkomponenten fehlende Darstellungen ausmachen können, siehe anliegenden Screenshot im Vergleich.

Edit: Das ist offensichtlich das gleiche Anzeige-Tool, das auch der SpeedCommander verwendet.

Zitat:

Zitat von uligerhardt (Beitrag 1309705)
Zitat:

Zitat von BUG (Beitrag 1309697)
Zitat:

Zitat von EWeiss (Beitrag 1309696)
Such doch mal im Net DMF - Viewer

Ich persönlich finde da nichts brauchbares: Bei Google suchenDMF Viewer

Wechstaben verbuchselt. :-)

http://www.mitec.cz/dfm.html schaut doch interessant aus. Wobei ich auf die Schnelle nicht gesehen habe, ob der mit 3rd-Party-Komponenten klar kommt.

Den hatte ich auch schon im Vorfeld meiner Recherchen gefunden, das Teil macht einen guten Eindruck. Es zeigt z.B. die Form wie hier in der Anlage dargestellt, genau so an wie mein Programm. Allerdings kann es anscheinend keine DFM-Formulare lesen, wenn diese im Binär-Format vorliegen. Zu einer evtl. Erweiterbarkeit habe ich auch nichts gefunden.

EWeiss 24. Jul 2015 19:45

AW: DFM-Datei in anderem Programm als Vorschau anzeigen
 
Super wäre natürlich wie schon angestoßen wenn man die DFM im Explorer anzeigen könnte.
Das Problem dabei halt das zwei DLL's erstellt werden müssen 64/32 Bit um sie für das jeweilige System
dann zugänglich zu machen.

Nicht so einfach das ganze.

gruss

Harry Stahl 24. Jul 2015 19:52

AW: DFM-Datei in anderem Programm als Vorschau anzeigen
 
Ich könnte mir vorstellen (wenn ich das hinbekomme) ein kostenloses PlugIn für die Anzeige im Windows-Explorer zur Verfügung zu stellen.

Uwe Raabe 24. Jul 2015 20:13

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

Zitat von EWeiss (Beitrag 1309773)
Das Problem dabei halt das zwei DLL's erstellt werden müssen 64/32 Bit um sie für das jeweilige System
dann zugänglich zu machen.

Das ist nicht nötig! Ein 32-bit PreviewHandler funktioniert auch auf einem 64-bit System. Dazu muss er nur unter eine anderen AppID registriert werden. In dem Code zu meinem Blog-Post ist das auch entsprechend implementiert (TComPreviewHandlerFactory.UpdateRegistry).

EWeiss 24. Jul 2015 22:27

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

Zitat von Uwe Raabe (Beitrag 1309781)
Zitat:

Zitat von EWeiss (Beitrag 1309773)
Das Problem dabei halt das zwei DLL's erstellt werden müssen 64/32 Bit um sie für das jeweilige System
dann zugänglich zu machen.

Das ist nicht nötig! Ein 32-bit PreviewHandler funktioniert auch auf einem 64-bit System. Dazu muss er nur unter eine anderen AppID registriert werden. In dem Code zu meinem Blog-Post ist das auch entsprechend implementiert (TComPreviewHandlerFactory.UpdateRegistry).

Hmm dann muss ich mich fragen warum es bei mir nicht funktioniert mit meinem MP3Tag Plugin.
32Bit.dll funktioniert nicht mit x64 es werden weder die richtigen Icons angezeigt noch der System Dialog um die Tags zu editieren.
Wohl bemerkt rechts klick auf Datei und Eigenschaften davon anzeigen.
Das Tab zum Editieren des Tags wird unter x64 gar nicht erst zum Dialog addiert.

64Bit.dll funktioniert jedoch aber auch nur eingeschränkt wenn diese mit einer 32Bit Anwendung verwendet wird.
Die Icons zum Beispiel werden dann im OpenDialog nicht richtig angezeigt.
Während im Explorer selbst diese richtig dargestellt werden.

gruss

Uwe Raabe 25. Jul 2015 07:30

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

Zitat von EWeiss (Beitrag 1309788)
Hmm dann muss ich mich fragen warum es bei mir nicht funktioniert mit meinem MP3Tag Plugin.

Die Aussage gilt auch nur für PreviewHandler - nicht für andere Explorer-Erweiterungen.

Zitat:

Zitat von MSDN: Preview Handlers and Shell Preview Host
32-bit preview handlers should use AppID {534A1E02-D58F-44f0-B58B-36CBED287C7C} when installed on 64-bit operating systems.


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 03:19 Uhr.
Seite 2 von 2     12   

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