Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Open- und Save-Dialoge in Detail-Ansicht (https://www.delphipraxis.net/28579-open-und-save-dialoge-detail-ansicht.html)

Stevie 26. Aug 2004 16:01


Open- und Save-Dialoge in Detail-Ansicht
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hey Leute,

in diesem Thread wurde danach gefragt, ob man die Dialoge in Windows (in jedem beliebigen Programm) so anpassen kann, dass sie sich in der Detail-Ansicht öffnen.
Da mich die Sache brennend interessiert hat, hab ich mich auf die Suche gemacht.
Mit den Komponenten von Madshi hab ich einen kleinen Dll-Hook hinbekommen, der dies möglich macht.
Ich hab das ganze in eine kleine Dll gepackt und einen Dienst erstellt, der eigentlich nix anderes macht, als die Dll ins System zu injizieren.
Wird der Dienst gestartet, starten die Dialoge in der Detail-Ansicht, wenn er beendet wird, nicht mehr.

Die Installation ist einfach:
- Dateien entpacken
- Exe-Datei mit dem Parameter /install starten.
- Dienst starten.
Zum Deinstallieren genügt der Parameter /uninstall. (vorher den Dienst stoppen!)

Ich hab das ganze auf meinem Entwicklungsrechner (WinXP Pro) getestet und es hat einwandfrei funktioniert.

Robert_G 26. Aug 2004 18:49

Re: Open- und Save-Dialoge in Detail-Ansicht
 
Ich kann nur sagen :thuimb:

Auch wenn es mich verdammt genervt hat, war ich bisher immer zu faul das selbst zu basteln.

Robert_G 31. Aug 2004 09:18

Re: Open- und Save-Dialoge in Detail-Ansicht
 
Sorry, ich muss doch noch ein Problem äußern.
Wenn dein Dienst läuft knallt es tierisch, beim Öffnen des Dialogs unter .Net. :(
Außerdem gibt es manchmal ziemlich krasse Darstellungsfehler. (Was wohl eher daran liegt, dass das VS03 diese ToolBar links im Dialog verändert).
Ich musste den Dienst vorläufig deaktivieren. :cry:

Stevie 1. Sep 2004 07:44

Re: Open- und Save-Dialoge in Detail-Ansicht
 
Zitat:

Zitat von Robert_G
Sorry, ich muss doch noch ein Problem äußern.
Wenn dein Dienst läuft knallt es tierisch, beim Öffnen des Dialogs unter .Net. :(
Außerdem gibt es manchmal ziemlich krasse Darstellungsfehler. (Was wohl eher daran liegt, dass das VS03 diese ToolBar links im Dialog verändert).
Ich musste den Dienst vorläufig deaktivieren. :cry:

Was genau heißt das? Was gibt's denn für Fehler?
Leider werd ich das nicht testen können, weil ich weder .Net, noch VS03 habe. :-(

Robert_G 1. Sep 2004 09:11

Re: Open- und Save-Dialoge in Detail-Ansicht
 
Liste der Anhänge anzeigen (Anzahl: 2)
Wie du im Screenshot sehen kanst, sind die Buttons auf der linken Seite weg.
Außerdem bekomme ich beim Starten des Dlg aus einer .Net -Anwendung regelmäßig die Meldung, dass ein Funktions Pointer nicht über ein Delegate bereitgestellt wird.
Dafür kannst du natürlich nichts, das FrameWork ist ziemlich paranoid, was seinen OpenFileDialog und unsafe Pointer angeht. :mrgreen:

Ich will jetzt auf keinen Fall auf deiner Arbeit rumhacken.
Es klappt halt nur nicht unter .Net wie es soll . ;)
2 meiner Kollegen, die kaum mit .Net-Apps arbeiten, finden den Dienst super...

Edit: Ich habe die Fehermeldung auch noch angehängt.

Stevie 1. Sep 2004 09:25

Re: Open- und Save-Dialoge in Detail-Ansicht
 
Zitat:

Zitat von Robert_G
das FrameWork ist ziemlich paranoid, was seinen OpenFileDialog und unsafe Pointer angeht.

Kann man das irgendwie umgehen? (Den Pointer "save" machen?)

Robert_G 1. Sep 2004 09:53

Re: Open- und Save-Dialoge in Detail-Ansicht
 
Aus dem anderen Thread:
Zitat:

Zitat von Stevie
Grob gesagt, wird zwischen den Prozeduraufruf einer Dll-Funktion und der Dll eine zweite Dll gehangen, die dann angesprochen wird. Das heißt, wenn die Funktionen GetFileOpenName oder GetFileSaveName aufgerufen werden, startet die neue Dll diese Funktionen.

Genau deshalb wird das FrameWork dem Dialog nicht vertrauen können. :mrgreen:

Stevie 1. Sep 2004 10:12

Re: Open- und Save-Dialoge in Detail-Ansicht
 
Zitat:

Zitat von Robert_G
Genau deshalb wird das FrameWork dem Dialog nicht vertrauen können. :mrgreen:

Ach so, heißt das, das .Net-Framework überprüft, ob der Funktionszeiger irgendwie verändert wurde??? SAU!!! :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:29 Uhr.

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