Delphi-PRAXiS
Seite 6 von 18   « Erste     456 7816     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Manifest-Creator (https://www.delphipraxis.net/139658-manifest-creator.html)

himitsu 25. Mai 2010 09:46

Re: Manifest-Creator
 
Zitat:

Zitat von taveuni
Ab dem Zeitpunkt wenn ein Icon geladen wird reagiert dein Programm sehr träge.
(Keine Rückmeldung für ca. 10-15 Sekunden).
Insbesondere das laden selbst, danach ein Klick auf einen anderen Node im Treeview.
Ebenfalls das speichern und laden der Ini (wobei dies verschmerzbar ist).
Ist das nur bei mir so?

Also bei mir merke ich keinerlei Verzögerung, gegenüber der vorhergehenden Version.

Obwohl zwar das Icon intern als Text verwerwaltet wird, sollte es recht schnell geehn.
- beim Speichern/Erstellen der RC wird direkt der Text eingefügt.
- und ansonsten wird nur beim Einfügen des Icons und beim Laden der INI eine String<>Icon-Umwandlung vorgenommen (das Icon wird ja in viele Integer zerlegt, bzw. daraus zusammengesetzt)
- beim Umschalten der TreeNodes sollte dieses aber keinerlei Auswirkungen zeigen, da dort absolut nix mit dem Icon in Berührung kommt. :gruebel:

Mit welchem System arbeitest du denn? (welches Windows, wieviel RAM, CPU, ...)

Leider läßt sich der aktuelle Code nicht mehr direkt mit Delphi 2007 debuggen/kompilieren, sonst hättest du eventuell mal versuchen können selber nachzusehn, wo es hängt. :?



Zitat:

Zitat von taveuni
Dann das speichern der *.rc Datei: Es wird ein Name verlangt beim Speichern.
In der *.cmd Datei wird dann aber immer Manifest.rc gesucht. Das war früher anders?

Ups, da hat die geänderte Fehlerbehandlung böse zugeschlagen. :shock:

Beim Zuweisen des Dateinamens, z.B. an Edit5.Text, werden über das OnChange die Dateien (mit den neuen Dateinamen) neu erstellt.
Nun hatte ich jetzt diese Zuweisung ans Ende verschoben, damit bei einem Fehler der alte Namen erhalten bleibt.
(z.B. Exception durch fehlende Schreibrechte beim Speichern)

Heißt also, nun wurde erst gespeichert und dann erst der Name geändert. :oops:

Die Kurzfassung:
Delphi-Quellcode:
// alt
If SaveDialog1.Execute Then Begin
  Edit5.Text := SaveDialog1.Filename;
  Memo1.Lines.SaveToFile(Edit5.Text);
End;

// neuer (das mit dem Fehler)
If SaveDialog1.Execute Then Begin
  Memo1.Lines.SaveToFile(SaveDialog1.Filename);
  Edit5.Text := SaveDialog1.Filename;
End;

// jetzt sieht es etwa so aus :)
If SaveDialog1.Execute Then Begin
  N := Edit5.Text;
  Try
    Edit5.Text := SaveDialog1.Filename;
    Memo1.Lines.SaveToFile(Edit5.Text);
  Except
    Edit5.Text := N;
    Raise;
  End;
End;
[add]
Ach ja, dem TreeView wurde vorhin noch ein Kontextmenü verpaßt:
- alles ausklappen
- alles zusammenklappen
- Eintag auswählen (das Selbe, wie bei einem Doppelklick oder beim Benutzen der [Enter]-Taste)

[info] aktuelle Dateien wieder in Beitrag #48

taveuni 25. Mai 2010 10:15

Re: Manifest-Creator
 
Hallo himitsu,

Also: Ich hab mal genauer getestet.
Ohne Icon ist alles normal. Das Laden eines Icons dauert bei mir ca. 30 Sekunden.
In dieser Zeit ist die Applikation nicht bedienbar.
Wenn diese zurückkommt und ich den ersten Wechsel im Treeview mache dauerts wieder 30 Sekunden.
Danach kann ich navigieren ohne Probleme.
Bis zum Zeitpunkt wenn ich entweder das Ini speichere oder lade.
(Dann geht auch das wieder los mit dem Tree).

Korrektur: Es kommt auch zwischendrin vor. Aber nur mit geladenem Icon.

Edit2:
Ganz genau kommt das Problem wieder wenn in der Ansicht "Laden/Speichern" einen
Namen ins unterste Editfeld zum speichern der rc Datei schreiben will. Ein Klick da rein
blockiert wieder 30 Sekunden die Applikation.

Mein Rechner:

- Intel Xeon X3450 Quadcore
- 8 GB RAM
- Windows 7 Professional 64 Bit.

Wenn ich Zeit hab werf ich mal den Debugger an.

Edit: Habe erst jetzt gelesen dass ich mit meiner veralteten IDE gar nicht kompilieren kann.

himitsu 25. Mai 2010 10:47

Re: Manifest-Creator
 
Hmmm, eigentlich ist das alles ja mehr/besser, als hier in meinem Rechner. :gruebel:

Könntest du das Icon oder 'ne ganze Projektdatei (INI) mal anhängen?

Im Anhang das Ganze in D2009 kompiliert (das sind auch gleich mal 400 KB weniger in der EXE)

Zitat:

Zitat von taveuni
Edit: Habe erst jetzt gelesen dass ich mit meiner veralteten IDE gar nicht kompilieren kann.

Wenn man so sachen, wie TEncoding rausnimmt, dann sollte es auch mindestens mit D2006 oder gar D7 kompilierbar sein. (die Vorgängerversion war ja ein Delphi 7-Projekt)

Allerdings werden aktuell für Mehrsprachigkeit der Ausgabedateien Funkionalitäten von D2009+ genutzt.
(so brauchte ich nichts selber implementieren und konnte mir etwas Arbeit ersparen :angel2: )

[edit]
Anhänge/Testversionen gelöscht ... neue Version in Post #1

ChrisE 25. Mai 2010 12:47

Re: Manifest-Creator
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

zur Ladeproblematik von ICONs.

System:
Vista 32Bit SP2
Phenom II X4 940 (@3 GHz)
4 GB Arbeitsspeicher (3,2 Effektiv)

Version aus #53 verwendet.

Zu Testzwecken ein nicht von mir erstellte ICO-Datei verwendet.
Laden ca. 4-5 Sekunden (Anwendung friert ein)
Löschen ca. 7-8 Sekunden (Anwendung friert ein)

Kein Unterschied ob das interne Manifest abgeschaltet wird oder nicht. Alternativen Datenstrom wegen Download mit Vistaboardmitteln entfernt - trotzdem kein Unterschied.

Vielleicht hilft es ja.

Greez, Chris

Edit:
  • Das erste umschalten dauert bei mir auch 4-5 Sekunden (also gleich lange wie beim Laden) wie es in #52 beschrieben wird von taveuni.
  • Sämtliche Änderungen bei geladenem ICO die sich "live" aus das Manifest oder / und die RC auswirken erzeugen die selbe Wartezeit (z.B. Beschreibung anpassen nach laden von ICO. Jeder Buchstabe erzeugt ca. 4 Sekunden Wartezeit).

himitsu 25. Mai 2010 14:05

Re: Manifest-Creator
 
Im Beitrag #48 (Download) hab ich grad eine neue Version hochgeladen (die einzelne EXE).

Erstmal waren die Daten und damit die Zeit 4-mal so lang, wie nötig.
Beim Zerlegen des Icons wurde falsch gezählt :oops: ( Dec(i) statt Dec(i, 4) ), daher wurde der Datenstrom länger.

So, das Zerlegen dauert zwar auch noch etwas, aber im Verhältnis zu den laaaangen Zeiten ist es noch recht flott, darum wurde da nicht viel geändert, aber das Zusammensetzen des Icons wird jetzt anders behandelt (sehr viel weniger Stringoperationen) ... es sollte nun also schneller sein.

Upload inkl. Source kommt demnächst, wollte erstmal noch was fertigmachen.
'nen Info-Tab (mit Version und Co.) wird grade eingefügt.

Falls jemand hierfür ein schönes Programm-Icon kennt ... bin auf der Suche nach sowas.

ChrisE 25. Mai 2010 14:20

Re: Manifest-Creator
 
Hallo himitsu,

die Ladezeiten etc. sind bei mir jetzt nicht mehr da :thumb:

Hab nur auf einmal einen "leeren" Eintrag zwischen "Optionen" und "-> Zeige alles" in der Auswahl links oben.

Sonst wieder mal super :-D

Greez, Chris

taveuni 25. Mai 2010 14:26

Re: Manifest-Creator
 
Auch bei mir läuft's nun flott.
Super danke.

Icon: Such Dir eins aus: http://www.iconarchive.com/

himitsu 25. Mai 2010 14:43

Re: Manifest-Creator
 
@ChrisE: Der leere Eintrag kommt nur von dem neuen Tab für Infos (Versionsnummer und Co.), für welchen es natürlich noch keine Übersetzungen gibt ... vielleicht sollte ich mal die zugehörige Fehlermeldung reaktivieren. :stupid:

@iconarchive
Joar, einige dieser Webseiten hab ich schon in der Mangel, aber jetzt finde mal das eine zum Programm passende Icon, unter diesen Massen an Icons. :zwinker:
(aktuell hab ich mir erstmal ein grünes Shield besorgt, aber vielleicht gibt es ja was passenderes, abgesen von dem einem wunderschönen Icon-Packet, über welches ich vorhin gestolpert bin und was gleich mal 200 UD$ billig ist)

himitsu 25. Mai 2010 18:10

Re: Manifest-Creator
 
So, ich hoffe es ist jetzt alles OK
und hier nochmal die letzen Änderungen und einige wichtige Infos im Überblick:
  • die Versionsinfos können eingestellt werden (allerdings sind diese natürlich nur in der RC enthalten)
  • man kann diese sogar mehrsprachig auslegen
  • es kann ein Programm-Icon in die RC eingebunden werden
  • die Sprachverwaltung wurde komplett überarbeitet
  • es sind Englisch und Deutsch integriert, aber wenn jemand weitere Sprachen hinzufügen will, so kann er/sie die ManifestCreatorLang.xml ins Programmverzeichnis legen und dieser weitere Übersetzungen hinzufügen
  • die Parameter-Verwaltung wurde ebenfalls verändert und erweitert
    (genauere Informationen im Abschnitt "Info" der EXE)

    Die RAD-Integration muß dementsprechend geändert werden, wenn man diese benutzt:
    Code:
    Titel:     Manifest-Creator
    Programm:  [color=gray]C:\ ... \[/color]ManifestCreator.exe
    Parameter: IniFile=$PROJECT CreateIni=yes
    oder
    Code:
    ...
    Parameter: IniFile=$PROJECT CreateIni=yes LoadActiveX
  • die Kodierungen der Exporte (.manifest .rc .cmd) werden jetzt richtig/besser behandelt
  • und einige Fehler/Probleme im Programm wurden behoben

Anhänge siehe Post #1

himitsu 27. Mai 2010 17:45

Re: Manifest-Creator
 
Ich hab mal versucht die Verwaltung der IDE-Integration mit zu integrieren. :stupid:

Unter "Option" sollten (hoffentlich) die installierten Delphis/BDSs/RADs (D5 bis 2010) aufgeführt sein
und wenn man dort dann ein Häckchen macht und speichert (Delphi sollte dabei möglichst nicht laufen)
müßte der Eintrag in Tools im Delphi erscheinen, mit welchem man nun den Manifest-Creator direkt von der IDE aus aufrufen kann. (er wird mit dem aktiven Projekt verbunden)


Falls das läuft, würde ich noch ein/zwei was beim Speichern verbessern und eventuell noch die RC gleich mit zur RES compilieren lassen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:16 Uhr.
Seite 6 von 18   « Erste     456 7816     Letzte »    

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