AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Open- und Save-Dialoge in Detail-Ansicht
Thema durchsuchen
Ansicht
Themen-Optionen

Open- und Save-Dialoge in Detail-Ansicht

Ein Thema von Stevie · begonnen am 26. Aug 2004 · letzter Beitrag vom 1. Sep 2004
Antwort Antwort
Benutzerbild von Stevie
Stevie
Registriert seit: 12. Aug 2003
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.
Angehängte Dateien
Dateityp: zip dialogreportview.zip (367,4 KB, 43x aufgerufen)
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
 
Robert_G
 
#2
  Alt 26. Aug 2004, 18:49
Ich kann nur sagen

Auch wenn es mich verdammt genervt hat, war ich bisher immer zu faul das selbst zu basteln.
  Mit Zitat antworten Zitat
Robert_G
 
#3
  Alt 31. Aug 2004, 09:18
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.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

 
Delphi 10.1 Berlin Enterprise
 
#4
  Alt 1. Sep 2004, 07:44
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.
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.
Stefan
  Mit Zitat antworten Zitat
Robert_G
 
#5
  Alt 1. Sep 2004, 09:11
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.

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.
Miniaturansicht angehängter Grafiken
opendlg01.jpg   opendlg02.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

 
Delphi 10.1 Berlin Enterprise
 
#6
  Alt 1. Sep 2004, 09:25
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?)
Stefan
  Mit Zitat antworten Zitat
Robert_G
 
#7
  Alt 1. Sep 2004, 09:53
Aus dem anderen Thread:
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.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

 
Delphi 10.1 Berlin Enterprise
 
#8
  Alt 1. Sep 2004, 10:12
Zitat von Robert_G:
Genau deshalb wird das FrameWork dem Dialog nicht vertrauen können.
Ach so, heißt das, das .Net-Framework überprüft, ob der Funktionszeiger irgendwie verändert wurde??? SAU!!!
Stefan
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:44 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