AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Manifest-Creator
Thema durchsuchen
Ansicht
Themen-Optionen

Manifest-Creator

Ein Thema von himitsu · begonnen am 2. Sep 2009 · letzter Beitrag vom 26. Dez 2015
Antwort Antwort
Seite 6 von 18   « Erste     456 7816     Letzte »    
Benutzerbild von himitsu
himitsu Online
Registriert seit: 11. Okt 2003
Moin Leutchen,

hatte mir eben mal schnell 'nen billiges (inzwischen leicht aufgemotztes) Progrämmchen erstellt,
womit man sich 'nen XP-Manifest zusammenklicken könnte.

vielleicht kann's ja wer gebrauchen



Ist jetzt nix Besonderes und ich weiß auch noch nicht, ob auch alles so richtig läuft

Erstellt wird die XML-Resource, welche man in eine *.manifest kopiert/speichert
und dann entweder so mit seinem Programm mitliefert oder direkt in die Resourcen einbindet.
Wie man es halt so kennt.

Zusätzlich wird noch ein Resourcen-Script erstellt, welches die Resource direkt enthält und nicht erst von einer externen Datei einbindet.
  • Standardmäßig ist eine Englisch-Deutsche-Sprachdatei direkt integriert
  • wird eine externe Sprachdatei "ManifestCreatorLang.xml" im Projektverzeichnis gefunden, so wird diese stattdessen beim Programmstart geladen
  • es kann sich also jeder die angehängte ManifestCreatorLang.xml nehmen, um weitere Sprachen erweitern (zum Format in die ersten Kommentare der ManifestCreatorU.pas reinschauen oder einfach mal nach >>"eng"<< suchen, dieses direkt übersetzen
    und dann natürlich hier im Thread hochladen )
  • es werden keinerlei Informationen gespeichert (weder in der Registry, noch in irgendeiner Datei ... abgesehn von den Dateien, welche ihr euch selber manuell speichert, dazu zählen auch die Optionen, welche im Programmverzeichnis gespeichert liegen)
  • und falls wem noch die eine oder andere Section fehlt, dann möge er sich einfach melden
    (nachsehn kann man z.B. hier http://msdn.microsoft.com/en-us/library/aa375632.aspx )
  • die ActiveX-Libraries werden standardmäßig nicht geladen,
    da es sonst etwas langsamer läd (bei mir so 2-5 Sekunden, statt fast sofort)
  • das Laden der ActiveX-Libs läßt sich aber zuschalten
    > einfach als Parameter "-LoadActiveX" mit angeben
  • es läßt sich via Parameter ein Projekt (*.ini) erstellen/laden
    gespeichert muß aber selber werden (sowas wie Autosave beim Beenden gibt's nicht)
    > das Projekt kann via Parameter geladen werden "-IniFile=..."
  • dieses Programm läßt sich als Tool in die IDE integrieren
    Code:
    Titel:     Manifest-Creator
    Programm:  [color=gray]C:\ ... \[/color]ManifestCreator.exe
    Parameter: -IniFile=$PROJECT -CreateIni
    oder
    Code:
    ...
    Parameter: -IniFile=$PROJECT -CreateIni -LoadActiveX
    bis Delphi 2007 so
    Code:
    Parameter: -IniFile== $PROJECT -CreateIni
    und bis Delphi 7 so
    Code:
    ...
    Parameter: -IniFile== $EXENAME -CreateIni
  • in die Resourcedatei (.rc) können nun auch ein Programmicon und Versionsinformationen integriert werden
  • in dem Suchfeld kann man Einträge über ihren Namen suchen und es werden Teilweise auch untegeordnete Infos berücksichtigt, z.B. die CLSIDs und der DLL-Name im Bereich ActiveX
  • die ComboBox mit dem * dahinter, ändert nix an dem Manifest, sondern zeigt nur rechts im InfoMemo passende Texte an, also in diesem Fall was mit der Anwendung unter verschiedenen Rechten passiert.




[initial] v1.2 2009-09-02
[update] v1.3 2009-10-24 19:05
...
[update] v1.4b 2009-12-18 22:45 - Fehler in Sprachdatei
[update] v1.4d 2010-05-25 18:30 - siehe Beitrag #59 (Vieles)
[update] v1.4f 2010-05-29 14:00 - siehe Beitrag #60-#72 (neue IDE-Integration)
[update] v1.4g 2010-05-31 22:00 - siehe Beitrag #74 (kleinere Fehler und neue Parameterbehandlung)
[update] v1.4g2 2010-06-01 09:00 - siehe Beitrag #75 (kleiner Fehler in Sprachverwaltung)
[update] v1.4h 2010-06-01 12:00 - siehe Beitrag #78 (Probleme mit der Projektverwaltung)
[update] v1.5 2010-06-03 00:30 - siehe Beitrag #80 (gewaltige Aufräumaktion)
[info] v1.5a 2010-08-04 08:06 - Neues Forum (URLs der Delphi-PRAXiS haben sich geändert)
[info] v1.5a 2010-08-27 12:45 - Anhänge neu hochgeladen (das Forenupdate hatte die Dateinamen geschrottet) und dabei gleich das UPX weggelassen (man darf nun eh keine EXE mehr hochladen )
[upload] beim Update gehen die Counter verloren > alt = 303x exe, 30x xml und 48x Sources (Memo an mich selbst, da ich garnicht neugierig bin)
[update] v1.5b 2010-08-27 15:33 - CMDs überarbeitet (UPX deaktiviert)
[update] v1.5c 2013-10-03 21:16 - siehe Beitrag #111 - Horst0815 (Support: XE-XE4 & Win8 / Archtektur: amd64)
[update] v1.5d 2013-11-09 20:38 - siehe Beitrag #109 & #112 - blablab & nru (Bugfix: $RESOURCE / Support: Win8.1)
[update] v1.6 2013-11-10 23:23 - siehe Beitrag #122 (Support: XE5 / Codeformatierung und einige Komponentennamen überarbeitet / Funktionen soriert (Regionen) / große Funktionen aufgeteilt / XML als Resource eingebunden)
[update] v1.6a 2013-11-11 01:44 - assemblyIdentity:language berichtigt und kleiner Bugfiges
[update] v1.6b 2013-11-11 23:43 - siehe Beitrag #125 (Bugfix: Ressource-Typ / weitere Komponenten benannt / Windows Server-Namen aufgenommen / Systemsprache laden )
[upload] beim Update gehen die Counter verloren > alt = 557x exe, 248x xml und 279x Sources (860x 278x 327x)
[update] v1.x 2013-12-15 - Sprachbehandlung überarbeitet / angefangen alle Komponenten zu übersetzen / neue XML-Behandlung angefangen (siehe __TestButton)
[update] v2.0 2015-02-08 23:23 - siehe Beitrag #137 (XE6-XE8 / Windows 10 / IdentityType win32 / alle Komponenten fertig übersetzt
[update] v2.0a 2015-02-13 04:05 - siehe Beitrag #140 (DPI-Aware / Hilfe-URLs / Sprachenladefunktion überarbeitet / Suche für fehlende Hilfetexte )
[upload] beim Update gehen die Counter verloren > alt = 176x exe, 84x xml und 104x Sources (1036x 362x 431x)
[update] v2.0b 2015-02-14 12:38 - siehe Beitrag #147 (Bugfix: DPI-Aware / Bugfix: File-Version / Übersetzungen)


Online: http://svn.geheimniswelten.de:8080/!/#ManifestCreator
Checkout: http://svn.geheimniswelten.de:8080/s...reator/Develop
Login, falls nötig: Gast (gast)

Es wird nur die EXE benötigt.
Die Sprach-XML kann man nutzen, um die Übersetzng oder bestimmte Optionen zu erweitern. (z.B. neue Sprache oder OperatingSystemIDs)
Und wofür der Quelltext (inkl. XML) ist, sollte wohl klar sein.
Miniaturansicht angehängter Grafiken
screeny_201.png  
Angehängte Dateien
Dateityp: 7z ManifestCreator.exe.7z (702,1 KB, 398x aufgerufen)
Dateityp: xml ManifestCreatorLang.xml (69,0 KB, 159x aufgerufen)
Dateityp: 7z ManifestCreator.source.7z (213,7 KB, 167x aufgerufen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (19. Mär 2015 um 11:53 Uhr)
 
Benutzerbild von himitsu
himitsu
Online

 
Delphi 12 Athens
 
#51
  Alt 25. Mai 2010, 10:46
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.

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 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.

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.

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
  Mit Zitat antworten Zitat
taveuni

 
Delphi 11 Alexandria
 
#52
  Alt 25. Mai 2010, 11:15
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

 
Delphi 12 Athens
 
#53
  Alt 25. Mai 2010, 11:47
Hmmm, eigentlich ist das alles ja mehr/besser, als hier in meinem Rechner.

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 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 )

[edit]
Anhänge/Testversionen gelöscht ... neue Version in Post #1
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

 
Delphi 10.2 Tokyo Professional
 
#54
  Alt 25. Mai 2010, 13:47
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).
Angehängte Dateien
Dateityp: ico vm_app_167.ico (24,6 KB, 16x aufgerufen)
Christian E.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

 
Delphi 12 Athens
 
#55
  Alt 25. Mai 2010, 15:05
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 ( 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.
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

 
Delphi 10.2 Tokyo Professional
 
#56
  Alt 25. Mai 2010, 15:20
Hallo himitsu,

die Ladezeiten etc. sind bei mir jetzt nicht mehr da

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

Sonst wieder mal super

Greez, Chris
Christian E.
  Mit Zitat antworten Zitat
taveuni

 
Delphi 11 Alexandria
 
#57
  Alt 25. Mai 2010, 15:26
Auch bei mir läuft's nun flott.
Super danke.

Icon: Such Dir eins aus: http://www.iconarchive.com/
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

 
Delphi 12 Athens
 
#58
  Alt 25. Mai 2010, 15:43
@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.

@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.
(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)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

 
Delphi 12 Athens
 
#59
  Alt 25. Mai 2010, 19:10
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
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

 
Delphi 12 Athens
 
#60
  Alt 27. Mai 2010, 18:45
Ich hab mal versucht die Verwaltung der IDE-Integration mit zu integrieren.

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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 6 von 18   « Erste     456 7816     Letzte »    


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:

(?)

LinkBack to this Thread

Erstellt von For Type Datum
Manifest ? BytecoreWiki This thread Refback 4. Aug 2010 19:08

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:42 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