Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: DFM-Datei in anderem Programm als Vorschau anzeigen

  Alt 23. Jul 2015, 20:50
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).

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.

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.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat