Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Vollautomatische Spaltenbreitenanpassung in Fenstern (https://www.delphipraxis.net/112073-vollautomatische-spaltenbreitenanpassung-fenstern.html)

Delphi-Laie 16. Apr 2008 15:31

Re: Vollautomatische Spaltenbreitenanpassung in Fenstern
 
Zitat:

Mir geht es nicht um Malware.
Es geht mir einfach darum, dass hier viele Programmier-Anfänger ihre Programme vorstellen.
Bei Anfängern kann es schon mal vorkommen, dass aus irgendeinem Grund ein falscher Ordner gelöscht wird.
Das hatte ich alles schon mal.
Das Programm wollte eigentlich in %USER% etwas löschen, es wurde aber wegen einem Programmierfehler in %ALL USERS% gelöscht (oder so).

Und warum hast Du den Screenshot als Bitmap in einem rar-Archiv angehängt?
Hast Du kein Programm, um das bmp in jpg umzuwandeln?
1. Die wichtigen Verzeichnisse sollte Windows doch eigentlich schützen?! Na ja, vielleicht nicht gut genug...
2. Natürlich hätte ich umwandeln können, aber ist das nun auch noch ein Problem?

toms 16. Apr 2008 15:42

Re: Vollautomatische Spaltenbreitenanpassung in Fenstern
 
Wie wäre es, das Programm Open-Source zu machen?

Delphi-Laie 17. Apr 2008 13:03

Re: Vollautomatische Spaltenbreitenanpassung in Fenstern
 
Zitat:

Zitat von toms
Wie wäre es, das Programm Open-Source zu machen?

Könnte ich Kürze passieren. Allmählich freue ich mich mit diesem Gedanken zunehmend an, bald werde ich "Gern!" antworten und es tun. Ich frage mich allerdings, wer Lust hat, in meinen Quelltexten "herumzurödeln". Du etwa/vielleicht? Falls ja, würde es mich freuen, und dann ist meine Hemmschwelle noch niedriger, diese herauszurücken. Allzuviel "knoff hoff" eigener Colour steckt dort, wie sollte es bei einem Delphi-Laien auch anders sein, nämlich nicht drin, es war eher eine Fleíßarbeit. Das Grundgerüst der DLL sind die Hook-Prozeduren von Assarbad, dieses Grundgerüst desweiteren garniert mit einer Prozedur von Luckie. Beide Vollprofis sind in diesem Kreise sicher bestens bekannt. Natürlich nicht zu vergessen die exzellente CoolTrayIcon-Komponente, um ein Hintergrundprogramm zurechtzubasteln. Also viel zusammenkopiert, worauf ich gar keine Urheberechte erheben kann, darf und möchte.

Allerdings werden die grundsätzlichen Probleme vielleicht doch nicht (ganz?) aus der Welt zu schaffen sein, damit meine ich vor allem:

1. Die Steuerung der Hook-Prozeduren über Dateien (in DLLs gibt es keine globalen Variablen, vor allem oder zumindest ausgerechnet in solchen, in denen Hook-Prozeduren aufgerufen werden, das erfuhr ich im Delphi.de-Forum: Glob.Variablenzugr.i.zeigerübergebenen/hookinitiierten Funk.. Es lassen sich zwar über den Funktionsaufruf der Hookinitialisierungsfunktionen Variablen in die DLL einschleusen, diese stehen dort allerdings nicht global zur Verfügung. Allerdings müßte ich diese Steuerung über Dateien nunmehr soweit zurechtgefummelt haben, daß es stabil ist.
2. Die fehlende Langzeitstabilität des Explorers gegenüber diesen Hooks und die manchmal doch recht merkwürdigen Effekte (Probleme!), die das Aktivieren der Hooks mit sich bringt. Ich habe es sogar schon erlebt, daß ein Hook, obwohl ich ihn gar nicht ausgeschaltet ("entladen") hatte, plötzlich "weg" war, zumindest zeigte mein Programm keine Reaktion mehr. Ein reines Timergesteuertes Programm ist jedoch viel zu pille-palle, als daß es wert wäre, sich damit weiter zu beschäftigen.

Ich denke, eine weltweit akzeptable vollautomatische Lösung dieser Windows-Lästigkeit, von der auch ich partizipieren könnte, steht über der eitlen Kleinheit, den Quelltext, der ziemlich wenig eigenes echtes "Know how" beinhaltet, eines Programmes, das ohnehin nicht verkaufbar ist, zurückzuhalten.

Immerhin bin ich auf einen weiteren Windows-Fehler (Vertauschung bei Ereignisbezeichnungen im CBT-Hook) gestoßen, den ich eigentlich einmal Mikroweich mitteilen sollte, allerdings weiß ich nicht, über welchen Datenkanal (piracy@microsoft.com?!), und ob man dort für solche Kinkerlitzchen offen ist, halte ich für fraglich, zumal viel gravierendere Windows-Probleme seit einigen Versionen dort mit sich herumgeschleppt werden, ohne korrigiert zu werden.

So, erst mal wieder genug getextet....

hoika 17. Apr 2008 19:58

Re: Vollautomatische Spaltenbreitenanpassung in Fenstern
 
Hallo,

< 2. Die fehlende Langzeitstabilität des Explorer >
< Immerhin bin ich auf einen weiteren Windows-Fehler
(Vertauschung bei Ereignisbezeichnungen im CBT-Hook) >

Also, jetzt muss ich mal wieder meinen Senf zugeben.
Du bezeichnest dich als Delphi-Laien,
kopierst Sachen zusammen, ohne (geraten) richtig Ahnung von der Sache zu haben.
Hook-Programmierung ist eine komplizierte Sache.

Mache das Programm Opensource und lass uns mal deine eigenen Fehler suchen,
bevor du den Fehler bei Windows suchst (OK, auch dort gibt es Fehler).


Heiko

gmc616 17. Apr 2008 23:51

Re: Vollautomatische Spaltenbreitenanpassung in Fenstern
 
Was soll das Programm tun? Meine detailierten Listenansichten im z.B. Explorer automatisch anpassen?
Was muß ich dazu einstellen?
Bei mir passiert nämlich gar nix, obwohl ich hier schon ne halbe Stunde am rumprobieren bin, denn die Idee finde ich eigentlich nicht schlecht.

Woran erkenne ich, dass das Programm arbeitet?

Einen kleinen Bug in der Beta 5 hab ich beim verzweifelten Ausprobieren auch noch gefunden.
Der Öffnen-Dialog hinter dem Button 'Hinzufügen' reagiert falsch.
1. Lassen sich auch z.B. RFT und andere Nicht-EXE-Dateien in die Liste mit aufnehmen und
2. Bekomme ich ne Meldung 'Datei hier schon registriert' beim klicken auf 'Abbrechen'.

:hi:

Edit: Ach ja. WinXp Sp2

Delphi-Laie 18. Apr 2008 09:46

Re: Vollautomatische Spaltenbreitenanpassung in Fenstern
 
Zitat:

Zitat von hoika
Hallo,

< 2. Die fehlende Langzeitstabilität des Explorer >
< Immerhin bin ich auf einen weiteren Windows-Fehler
(Vertauschung bei Ereignisbezeichnungen im CBT-Hook) >

Also, jetzt muss ich mal wieder meinen Senf zugeben.
Du bezeichnest dich als Delphi-Laien,
kopierst Sachen zusammen, ohne (geraten) richtig Ahnung von der Sache zu haben.
Hook-Programmierung ist eine komplizierte Sache.

Mache das Programm Opensource und lass uns mal deine eigenen Fehler suchen,
bevor du den Fehler bei Windows suchst (OK, auch dort gibt es Fehler).


Heiko

OK, vielen Dank, mit diesem Interesse hatte ich nicht gerechnet.

Mein Programm ist nunmehr Open Source:Vollautomatische Spaltenbreitenanpassung in Fenstern

Wer immer sich damit beschäftigen möchte, sei herzlich eingeladen. Für das Bemühen danke ich schon mal im voraus!

Nein, natürlich habe ich "nicht richtig Ahnung". Das ist bei diesen modernen, hochkomplexen Programmierwerkzeugen auch nur noch schwerlich möglich. Ich vermute, daß solche Leute wie Assarbad, Koshigaya, Luckie, Mathias Simmack u.ä. sich entweder beruflich damit beschäftigen und/oder mit Turbo-Pascal, spätestens mit den ersten Delphi-Versionen damit praktisch über Jahrzehnte hineingewachsen sind. Die allermeisten sind spätere Einsteiger oder programmieren nur sporadisch (oder erstmalig). Das kann man doch niemandem übelnehmen (tut vermutlich auch niemand). Außerdem muß man sich doch auch auf unbekanntes Terrain wagen, sonst lernt man es doch nicht kennen und mithin nichts dazu.

Viele Grüße

Delphi-Laie

Postscriptum: Beim monierten Windowsfehler bin ich mir sicher: Ich kann doch noch MoveSize und MinMax übersetzen. Auch die Zuordnung meiner Freischaltoptionen für diese Ereignisse hatte ich wiederholt kontrolliert. Falls ich recht behalte, dann wäre es ja "nur" ein Fehler vertauschter Bezeichnungen.

Delphi-Laie 18. Apr 2008 10:00

Re: Vollautomatische Spaltenbreitenanpassung in Fenstern
 
Zitat:

Zitat von gmc616
Was soll das Programm tun? Meine detailierten Listenansichten im z.B. Explorer automatisch anpassen?
Was muß ich dazu einstellen?
Bei mir passiert nämlich gar nix, obwohl ich hier schon ne halbe Stunde am rumprobieren bin, denn die Idee finde ich eigentlich nicht schlecht.

Woran erkenne ich, dass das Programm arbeitet?

Einen kleinen Bug in der Beta 5 hab ich beim verzweifelten Ausprobieren auch noch gefunden.
Der Öffnen-Dialog hinter dem Button 'Hinzufügen' reagiert falsch.
1. Lassen sich auch z.B. RFT und andere Nicht-EXE-Dateien in die Liste mit aufnehmen und
2. Bekomme ich ne Meldung 'Datei hier schon registriert' beim klicken auf 'Abbrechen'.

:hi:

Edit: Ach ja. WinXp Sp2

Vielen Dank!

Richtig, die Spaltenbreiten in den Detailansichten immer vollautomatisch richtig anpassen (was bis heute kein Windows beherrscht), so daß nichts abgeschnitten und nichts verschenkt wird.

Einstellen? Die Auslösemethoden und die betreffenden Programme, in deren Fenstern das geschehen soll (weil manche Programme das verwendete Hotkey nicht vertragen).

Das Programm ist aktiv, wenn das TrayIcon animiert ist. Es kann aber nur dann wirklich agieren, wenn eine Auslösemethode (1-CBT-Hook, 2-Shellhook, 3-Timer) aktiviert wurde, und das auch nur bei den Programmen, die eingetragen ("registriert") wurden.

Zu den Fehlern:

Zu 1. Das wundert mich. Ich habe das Einladen von Nicht-Exe-Dateien definitiv abgeblockt, und bei mir kommt beim Versuch dessen statt des Einlesens das Meldungfenster ("Keine .exe-Datei"). Also, leider nicht nachvollziehbar.

zu 2. Beim Klick auf Abbrechen im Datei-Öffnen-Dialog? Passiert bei mir auch nicht. "Datei hier schon registriert" habe ich für den Versuch programmiert, eine Programmdatei wiederholt für die Einschlußliste einzulesen (was im Hinblick auf die Programmfunktionalität zwar grundsätzlich möglich, aber völlig überflüssig wäre). Kann eigentlich erst reagieren bzw. erscheinen, wenn überhaupt eine Datei von dieser Routine zurückgeliefert wurde.

Einen Fehler ganz anderer Art habe ich jedoch gefunden, und zwar, wenn man das Einlesen der Datei vom Edit-Feld aus mit der Enter-Taste bewirkt (das wollte ich optional auch anbieten): Dann "beept" es immer. Ich habe bisher nur herausgefunden, daß es beim Aufruf der CoolTrayIcon-Unit nach Beendigung der Routine, die den Druck auf die Enter-Taste feststellt, passiert. Ich werde gleich mal versuchen, den Tastaturpuffer zu leeren.

Am besten beantworten sich diese Fragen aber dadurch, daß ich mein Projekt nunmehr quellcodegeöffnet habe (in der Rubrik "Open Source").

Viele nette Grüße

Delphi-Laie

hoika 18. Apr 2008 10:15

Re: Vollautomatische Spaltenbreitenanpassung in Fenstern
 
Hallo

> Einen Fehler ganz anderer Art habe ich jedoch gefunden, und zwar, wenn man das Einlesen der Datei vom
> Edit-Feld aus mit der Enter-Taste bewirkt (das wollte ich optional auch anbieten): Dann beept es
> immer.

Das ist immer so.
Abhilfe.

Delphi-Quellcode:
procedure EditOnKeyPress ...
begin
  if Key=#13 then Key:= #0;
end;

Heiko

Delphi-Laie 18. Apr 2008 10:16

Re: Vollautomatische Spaltenbreitenanpassung in Fenstern
 
Danke, Heiko! Das funktioniert auch bei mir wunderbar...

ibo1a 23. Nov 2017 07:18

AW: Vollautomatische Spaltenbreitenanpassung in Fenstern
 
Hallo! Nach so vielen Jahren ist das Problem scheinbar noch immer vorhanden und ich habe ihr kleines Tool unter Windows 10 erfolgreich getestet. Da ich gerade mal einen PC anschalten kann ohne mir dabei einen Finger zu brechen wollte ich fragen ob es sin macht ihr Tool automatisch mit Windows zu starten und ob mir da jemand helfen kann?

Vielen Danke für das kleine, nützliche Programm!

VG Ralf Müller


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:00 Uhr.
Seite 2 von 3     12 3      

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