AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi DFM-Datei in anderem Programm als Vorschau anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

DFM-Datei in anderem Programm als Vorschau anzeigen

Ein Thema von Harry Stahl · begonnen am 16. Jul 2015 · letzter Beitrag vom 28. Feb 2016
 
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.560 Beiträge
 
Delphi 12 Athens
 
#24

AW: DFM-Datei in anderem Programm als Vorschau anzeigen

  Alt 23. Jul 2015, 21:12
Der PreviewHandler hat nichts mit Delphi zu tun, sondern sorgt dafür, dass du im Explorer eine Vorschau sehen kannst (z.B. von einer PDF-Datei)..
Geht das schon aktuell irgendwie oder meinst Du, es eher als theoretische Aussage, dass es gehen müsste?

Diese müssen sich entsprechend registrieren und man könnte auch aus deinem Formular-Anzeiger einen PreviewHandler machen, der dann ganz einfach mit dem Windows Explorer funktioniert.

Hier die Definition des Interfaces
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

Um diesen Preview (nach der Initialisierung) dann anzuzeigen, reicht es die Methode SetWindow aufzurufen, wo dann das ParentHandle und der Anzeigebereich übergeben wird. Dort zeichnet sich das dann hin.

Im Prinzip genau das was du auch machen willst. Du weisst wo es hin soll und hast auch den Bauplan, aber du weisst nicht wie du es bauen sollst und lässt das die DLL machen.
Wobei ich ja das Formular nicht nur anzeigen möchte, sondern damit interagieren will(wie im Video gezeigt), also beim Klick auf den Namen einer Ereignisprozedur an die Stelle im Source springen, Images aus der TImageList exportieren, (kommt noch: eine andere Seite eines TNotebooks anzeigen) etc.

Ein Interface sollte man nicht nur auf die automatische Freigabe reduzieren.
Und nicht jedes Interface kann sich auch selber wieder freigeben. Das hat etwas mit der Implementierung zu tun.

Der grosse Vorteil hier ist, dass du die Interface-Referenz einfach so Anwendungsübergreifend austauschen kannst. Nur bei den Rückgabewerten und Parametern muss man ein Auga darauf haben, dass man keine Delphi-Typen (wie z.B. string) verwendet. Alternativ bietet sich da z.B. der WideString an. Ist zwar langsamer aber hier safe, da der von Windows direkt verwaltet wird (darum ja auch langsamer).

Beispiele sollten sich da finden lassen. Wenn nicht, dann schau ich mal ... irgendwo habe ich noch so ein Beispiel rumfliegen.
Ja, Beispiele, wie man ein Interface erzeugt, gibt es (hat mein Namensvetter Stahli hier ja auch mal gemacht). Ich müsste dann also statt der Form ein Interface erzeugen und zurückgeben. Und das kann man dann auch ohne die "TFont ist nicht gleich TFont" -Probleme in die aufrufende Form einfügen?
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:00 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