Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Amnon82's CloseFix für Delphi 7|2005 (Personal) (https://www.delphipraxis.net/70132-amnon82s-closefix-fuer-delphi-7%7C2005-personal.html)

Amnon82 25. Mai 2006 15:33


Amnon82's CloseFix für Delphi 7|2005 (Personal)
 
Liste der Anhänge anzeigen (Anzahl: 1)
http://img106.imageshack.us/img106/746/splash117st.png
http://img152.imageshack.us/img152/5...fix13d97ap.png http://img54.imageshack.us/img54/673...fix13d71ed.png

Hi Leute,

Mich hats immer genervt, dass ich beim Beenden von Delphi 2005 Personal immer eine Fehlermeldung bekomme.
Nun hab ich mir eine Lösung gecodet.

>> CloseFix for D7|9PE

Was macht das Plugin?

Ganz einfach: Es deaktiviert die normale Closefunktion von D7|9PE und ersetzt sie durch meine.

Was ist an Deiner Methode nun anders?

Es läuft so: Wenn Ihr auf 'Beenden' klickt werden alle Units geschlossen. Falls was nicht gespeichert wurde,
wird nachgefragt, was zu tun ist. Danach wird die IDE terminiert (falls das für Euch Probleme bereitet bitte sagen).

Was sollen die Shortcuts?

Na was wohl ... Mit Alt+F4 könnt Ihr meinen CloseFix schneller aufrufen :P

Wie (de)installiere ich es?

Benutz einfach den (De)Installer aus dem ZIP-File.

Release-Notes:

Code:
Amnon82's CloseFix for D7|9PE 1.3.2

(C) 2006 AMSOFT [url]www.autoq2.fx.to[/url]

Beschreibung/Description:
-------------------------

Dieser Expert fügt CloseFix Deiner IDE hinzu.
Er ersetzt das 'Beenden'-MenüItem im 'Datei'-Menü.

This expert adds the CloseFix to your Delphi IDE.
It replaces the Close-MenuItem in the 'File'-menu.


Änderungen/Changes:
-------------------

1.3.2
* Delphi7PE support added
* Closefix Options added

1.3.1
* Kill function removed
* 'Close all forms and then close' added
* needs to be tested.

1.3
* Application.terminate removed
* Kill function added (closes faster now)

1.2
* MemoryManager fixed (0.2.0.23)
* Installer fixed

1.1 SE
* Splash simplified
* Delay(1000) added

1.1
* Splash added
* Thx jbg for helping me out.

1.0.4
* Alt-F4-Override added

1.0.3
* Removed FindWindowByTitle
* Simplified the CloseFix

1.0.2
* Close-Button issue fixed

1.0.1
* Tried to fix the Close-Button issue in the Mainmenu

1.0.0
* Inital public release

THX goes to:
------------

Daniel Schuhmann: Dein Programm ist recht nett, gibt aber
        nicht alle Möglichkeiten frei. Trotzdem
                  geniale Idee.

Lizenz:
-------

Das Programm ist Freeware. Sie dürfen es ohne Einschränkungen nutzen.
Es wird Ihnen überlassen "WIE ES IST". Sie dürfen es nicht disassemblieren,
dekomplieren oder sonstwie in seine Bestandteile zerlegen oder ändern.
Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es
Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die
implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN
BESTIMMTEN ZWECK.
Viel Spaß damit.

Eurer

Amnon82

Amnon82 28. Mai 2006 12:24

Re: Amnon82's CloseFix für Delphi 2005 Personal
 
Hier die Version 1.0.1

Änderung:

Ich laß nun den X-Disabler-Timer laufen, da der X-Knopf der IDE
bei manchen Gegebenheiten wieder aktiviert wurde.

Zum Überprüfen welche Version Ihr am Laufen habt, einfach auf
"Komponente > Packages installieren" klicken.

Es sollte nun folgendes in der Liste auftauchen:

http://img146.imageshack.us/img146/6493/1013ui.png

Amnon82 28. Mai 2006 13:47

Re: Amnon82's CloseFix für Delphi 2005 Personal
 
Version 1.0.2

Ich hab nun den Bug gefunden und den Timer nun berichtigt.
Mit dieser Release könnt Ihr nun auch in den Sourcecode sehen.

Amnon82 28. Mai 2006 14:42

Re: Amnon82's CloseFix für Delphi 2005 Personal
 
Ich hab nun ein Tutorial geschrieben, wie Ihr Eure eigenen Plugins für Delphi 2005 Personal erstellen könnt.

Delphi IDE Plugins für D9PE

DGL-luke 28. Mai 2006 14:48

Re: Amnon82's CloseFix für Delphi 2005 Personal
 
es ist hier in der dp eigentlich üblich, die neueste version im ersten beitrag vorzuhalten. dann muss man nicht suchen, besonders wenn sich eine heftige diskussion entwickelt...

Amnon82 28. Mai 2006 15:06

Re: Amnon82's CloseFix für Delphi 2005 Personal
 
@DGL-Luke: Würd ich gern, aber:

Zitat:

Du kannst einen Beitrag nach seiner Erstellung nur innerhalb von 24 Stunden bearbeiten. Falls Du Anmerkungen oder Erweiterungen hinzufügen möchtest, so erstelle einen neuen Beitrag. Für absolut dringende Änderungen innerhalb dieses Beitrages wende Dich bitte an einen der Moderatoren.

DP-Maintenance 28. Mai 2006 15:15

DP-Maintenance
 
Dieses Thema wurde von "alcaeus" von "Die Delphi-IDE" nach "Freeware" verschoben.
Und aus obigem Grund verschiebe ich es auch nach Freeware, wo das Programm eigentlich hingehoert ;)

DGL-luke 28. Mai 2006 15:48

Re: Amnon82's CloseFix für Delphi 2005 Personal
 
also bei mir hagelts trotzdem exceptions... :)

Amnon82 28. Mai 2006 16:27

Amnon82's CloseFix für Delphi 2005 Personal v1.0.3.1
 
Du meinst beim Beenden, oder durch meinen CloseFix?

Hab vergessen zu sagen, dass ich einen anderen MemoryManager verwende.
Mach einen Hacken bei Update Memory Manager rein, und es sollte gehen.

http://img98.imageshack.us/img98/9564/untitled69bt.png

Ggf. müsstest Du den Fix manuell installieren.

Hier mal die Version 1.0.3.1. Ich hab die Source aufs Minimale geschrumpft.

Mach mal paar Screenshots Deiner Exceptions ...

Garfield 28. Mai 2006 17:00

Re: Amnon82's CloseFix für Delphi 2005 Personal
 
Zitat:

Zitat von Amnon82
Mich hats immer genervt, dass ich beim Beenden von Delphi 2005 Personal immer eine Fehlermeldung bekomme.

Kann ich nicht nachvollziehen. Ich bekomme keine Fehlermeldung.

Vielleicht liegt es nicht an Delphi sondern an den Komponenten, welche Du zusätzlich installiert hast?

Amnon82 28. Mai 2006 17:06

Re: Amnon82's CloseFix für Delphi 2005 Personal
 
Ich bin nicht der Einzige, der das Problem hat(te).
Zur Zeit hab ich JVCL,JCL,TNTUnicontrolsD9PE244,ICS,RText,DEC und andere Komponenten installiert.
Hatte aber auch mal eine reine D9PE Installation ohne jeglichen Komponenten getestet und hatte
manchmal Probleme. Ich arbeite auch nur mit W32 und hab den Rest disabled, was auch zu Problemen
führen kann. D9PE ist halt man instabil. Mit dem Fix und FastMM4.66PE hab ichs aber für mich zufriendenstellend
hinbekommen.

Garfield 28. Mai 2006 17:46

Re: Amnon82's CloseFix für Delphi 2005 Personal
 
Hätte ja sein können, dass man den "Übeltäter" lokalisieren und korrigieren könnte.

Amnon82 28. Mai 2006 19:08

Re: Amnon82's CloseFix für Delphi 2005 Personal
 
Tja, leider nicht. Hab nun einen Alt+F4-Override hinzugefügt. Nur frag ich mich, wie ich wie J(V)CL im Splashscreen erscheinen kann ...

DGL-luke 28. Mai 2006 20:10

Re: Amnon82's CloseFix für Delphi 2005 Personal
 
jbg macht das auch in seinem idespeedup... frag den.

Amnon82 28. Mai 2006 21:05

Re: Amnon82's CloseFix für Delphi 2005 Personal
 
So, hab das mit dem Splash auch hinbekommen ...

Amnon82 12. Jun 2006 14:32

Re: Amnon82's CloseFix für Delphi 2005 Personal
 
Der Memory Manager der Version 1.1 (Version 0.0.1.2 hatte jeden Fehler gemeldet und sich somit aufgehangen) war fehlerhaft.
Die Version 1.2 (MM 0.2.0.23) behebt den Fehler.

Der Memory Manager ist eine angepasste FastMM.Debug Version. Alle Fehlermeldungen hab ich entfernt, damit es keine Konflikte mit dem CloseFix mehr gibt.

himitsu 12. Jun 2006 15:00

Re: Amnon82's CloseFix für Delphi 2005 Personal
 
Zitat:

Zitat von Amnon82
Zur Zeit hab ich JVCL,JCL,TNTUnicontrolsD9PE244,ICS,RText,DEC und andere Komponenten installiert.

Warum es bei Verwendung einerger JVCL-Units zu Problemen kommt, ist eigentlich einleuchtend, denn sie erzeugen (weil die es nicht anders lösen konnten) ein MemoryLeak.

Es werden eine Dinge Initialisiert, aber nicht wieder freigegeben, weil sie eventuell nach Abschluß der Initialisierenden Unit noch benötigt werden.

Und genau diese MemoryLeaks entdekt und benängelt natürlich FastMM ... besser wäre es also, wenn man nur diese Speicherblöcke freigibt, damit wäre dann die Prüfung für andere (z.B. eigene Leaks) noch verwendbar.

Obi-Wan 15. Jun 2006 10:55

Re: Amnon82's CloseFix für Delphi 2005 Personal
 
Liegt aber kaum an den Komponenten denn die Exceptions beim schließen habe ich auch mit einem frisch installiertem D2005PE. Das kommt daher das ich nur Win32 ohne .Net und c# installiert habe. Wenn man mit .Net installiert hat man keine fehlermeldungen :)

himitsu 15. Jun 2006 12:11

Re: Amnon82's CloseFix für Delphi 2005 Personal
 
Tja, ich hab auch nicht behauptet, daß die gesamte Delphi-VCL nicht auch MemLeakFrei ist ... irgendwie gibt's überall teilweise absichtliche MemoryLeaks (diese merkt man nur nicht, da der StandardMM alle Leaks stillschweigend freigibt) ... aber es kann natürlich immernoch ein Fehler im MemoryManager vorliegen

Amnon82 15. Jun 2006 15:43

Re: Amnon82's CloseFix für Delphi 2005 Personal
 
Ich hoffe immer noch, dass Dein kommender MM diese Fehler beheben kann. Ich hab mal wieder Doc Google nach Rat gefragt, aber keine Fixes oder Patchers für die D9PE IDE gefunden. Warum released Borland keine Updates wie für Delphi 7 PE?

markusj 15. Jun 2006 16:59

Re: Amnon82's CloseFix für Delphi 2005 Personal
 
Vielleicht weil es mehr Aufwand wäre, als eine neue IDE zu releasen? *g*
Ich ärgere mich gerade Grün und Schwarz, weil mein Delphi 2k5 ständig irgendwelche schwachsinnigen Meldungen bringt und mich damit Beglückt, dass ein "normaler" Debuggerstart ohne vorher zu _seperat_ zu kompilieren in einer Fehlermeldung endet.

mfG

Markus

himitsu 15. Jun 2006 19:15

Re: Amnon82's CloseFix für Delphi 2005 Personal
 
Zitat:

Zitat von Amnon82
Ich hoffe immer noch, dass Dein kommender MM diese Fehler beheben kann.

Leider sind mir ja die letzen Tage (seit Samstag) verlorengegangen (hätte ja die ganzen Tage fast durchprogrammieren können) aber zumindestens sieht es so auch, als seien die wichtigsten Dateien OK .. jetzt nur noch die letzten 6 GB prüfen und PC neuinstallieren - ich hoff ja das heut noch fertigzubekommen, dann hab ich noch ein paar Tage übrig -.-''

@markus: das war auch einer der Gründe, warum ich damals mein D2005 wieder weggepackt hab ... D4/D7 waren einfach besser (für mich).

Amnon82 16. Jun 2006 21:32

Re: Amnon82's CloseFix für Delphi 2005 Personal
 
Ich probier mal was neues. Hab mal Version 1.3.1 hochgeladen. Der normale 'Beenden'-Knopf hab ich ja nur unsichtbar gemacht.
Nun schließt mein Fix alle Formen und klickt dann auf den normalen 'Beenden'-Knopf. Falls es Fehler beim Beenden von der IDE gibt, der kann auf 1.3 oder 1.2 zurückgreifen.

Amnon82 18. Jun 2006 16:16

Re: Amnon82's CloseFix für Delphi 2005 Personal
 
Nun gibts mit der Version 1.3.2 auch das CloseFix für Delphi7(PE)

MagicAndre1981 18. Jun 2006 16:18

Re: Amnon82's CloseFix für Delphi 7|2005 (Personal)
 
Was macht dein FIx genau?

Garfield 18. Jun 2006 20:44

Re: Amnon82's CloseFix für Delphi 2005 Personal
 
Zitat:

Zitat von Amnon82
Nun gibts mit der Version 1.3.2 auch das CloseFix für Delphi7(PE)

:shock: Dann scheint mein System nicht normal zu sein. Hatte da auch noch keine Probleme. :gruebel:

Amnon82 20. Jun 2006 11:17

Re: Amnon82's CloseFix für Delphi 7|2005 (Personal)
 
Zitat:

Was ist an Deiner Methode nun anders?

Es läuft so: Wenn Ihr auf 'Beenden' klickt werden alle Units geschlossen. Falls was nicht gespeichert wurde,
wird nachgefragt, was zu tun ist. Danach wird die IDE terminiert (falls das für Euch Probleme bereitet bitte sagen).
Ich hab auf meinem System öfter mal das Problem, dass ich komische Fehlermeldungen bekomme, wenn ich Delphi beende.
Kann auch an Net 2.0 liegen. Egal. Durch meinen Fix ist das Problem für mich nun behoben.

Ich hab grad 1.3.2 (fixed) hochgeladen. Hatte ja 'Click on Exit Button' als Standard definiert, was aber zu dem
Problem führte, das die Settings nicht gespeichert wurden. Ist nun behoben, in dem Ich keinen Standard definiert hab.
Einfach beim ersten Mal in das Options-Menü gehen und auswählen, wie sich die IDE beenden soll:

* Kill Process: Ruft meine Kill-Funktion auf und beendet die IDE wie wenn Ihr mit dem Taskmanager den Prozess terminiert.
* Terminate Application: Ruft ganz einfach 'application.terminate' auf, was ein bisschen länger dauert als mein 'Kill Process'.
* Click on 'Exit'-Button: Klickt einfach auf den unsichtbaren Exit/Beenden-Knopf.

Jede Option hat eins gemeinsam. Bevor eine davon ausgeführt wird, werden alle Forms zuvor geschlossen, was Euch noch die Möglich-
keit gibt diese abzuspeichern. Ein Timer regelt den Delay und wartet somit ab, ob dies auch ohne Fehler geschehen ist.

... falls Du die Source haben willst, schreib mir ne PM.

jbg 20. Jun 2006 11:42

Re: Amnon82's CloseFix für Delphi 7|2005 (Personal)
 
Zitat:

Zitat von Amnon82
* Terminate Application: Ruft ganz einfach 'application.terminate' auf, was ein bisschen länger dauert als mein 'Kill Process'.

Das klingt nicht wirklich gesund. Weißt du was Application.Terminate macht, bzw. gerade nicht macht?

Amnon82 22. Jun 2006 14:37

Re: Amnon82's CloseFix für Delphi 7|2005 (Personal)
 
... gibt den Speicher nicht frei?

Klär mich auf, wenn du grad Lust hast ...

himitsu 22. Jun 2006 16:48

Re: Amnon82's CloseFix für Delphi 7|2005 (Personal)
 
Unter NT sollte der Speicher schon freigegeben werden, aber es können/werden nicht mal alle Prozesse richtig beendet, so können z.B. verschiedene Zwischenspeicher (Cache) nicht mehr korrekt abgeschlossen (deren Inhalt gespeichert) werden u.s.w.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 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