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 7 von 12   « Erste     567 89     Letzte »    
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.363 Beiträge
 
Delphi 12 Athens
 
#1

Re: Manifest-Creator

  Alt 23. Mai 2010, 18:11
Zitat von turboPASCAL:
Die Dateiversion und das App.-Icon machst du über die IDE (im Falle der Verwendung der VCL).
Man könne diese auch über eine RC-Datei machen, aber die IDE wird dann ggf. rumzicken...
Nunja, ein Manifest kann man ja auch über die IDE einstellen
und seit ein paar Delphiversionen wird dieses ebenso in der Projekt-Resource {$R *.res} abgelegt, so wie die delphiinternen Versionsinfos.

Wenn schon das Manifest von extern kommt, dann ist es auch gut möglich (vielleicht schön für NonVCL), Alles über die hier generierte RC/RES einzubinden?


So, hier dann schonmal eine Vorschau:
- die Versionsinfos können eingestellt werden (allerdings sind diese natürlich nur in der RC enthalten)
- man kann diese sogar mehrsprachig auslegen (Windows bietet dafür theoretisch zwar eine fast unbegrenzte Anzahl, aber ich hab mich mal mit 2 wählbare Sprachen zufriedengegeben ... das sollte wohl erstmal ausreichen)
- das Icon kommt auch bald

und nun noch was zum Rest
- die Sprachverwaltung wurde geändert
- es sind aktuell Englisch und Deutsch direkt integriert und können zur Laufzeit umgestellt werden
- die Optionsdatei liegt aktuell noch im Programmverzeichnis, falls man diese speichert
- diese beiden Sprachen sind direkt integriert, aber wenn man die zusätzliche Sprach-XML ebenfalls in das Programmverzeichnis legt, dann wird stattdessen diese geladen
(ein Neukompilieren für eine Spracherweiterung oder andere Änderungen ist also nicht mehr nötig)

- die Parameter-Verwaltung wurde ebenfalls verändert und erweitert, so ist jetzt keine feste Reihenfolge mehr nötig
- dadurch bekommt man mehr Möglichkeiten, für eine weniger strikte Fernsteuerung
  • LoadActiveX=yes läd sofort beim Start die ActiveX-Liste
  • IniFile=xyz.ini läd eine bestimmte Einstellung
  • Manifest=xyz.manifest stellt eine bestimmte Ausgabedatei ein (oder den Editinhalt)
  • Resource=xyz.rc das Gleiche für das Resource-Script
  • Recreate=yes speichert/erstellt die eingestellten Manifest- und/oder RC-Datei
    und beendet das Programm gleich wieder, wenn der Speicherforgang erfolgreich war

  • längere Parameter (z.B. mit Leerzeichen) sind natürlich auch möglich
    z.B.: IniFile=xyz.ini IniFile="xyz.ini" oder "IniFile=xyz.ini"



Es fehlt also jetzt noch das Icon
und dann wollte ich mich nochmal umsehn, ob es bezüglich des Manifests neu Dinge gibt, welche mit reinkommen sollten.

[edit]
Anhänge/Testversionen gelöscht ... neue Version in Post #1
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.363 Beiträge
 
Delphi 12 Athens
 
#2

Re: Manifest-Creator

  Alt 24. Mai 2010, 19:12
Die beiden Dateien im vorherigen Post #48 wurden nochmals geupdatet.

Falls dort keine Fehler/Probleme entdeckt werden, dann würde ich diese in den nächsten Tagen im Post #1 als aktuelle Version einführen.

  • Icon ist nun enthalten
  • In den ganzen Output-Dateiteien werden jetzt die Kodierungen richtig angewendet
    (vorallem das UTF-8 wurde glatte vergessen )
    * UTF-8 für's .manifest
    * Ansi für die .rc
    * entpsrechend den jeweiligen Codepages für die Versionsinfos innerhalb der .rc
    * und OEM für die .cmd
  • die gepsicherten Einstellungen (.ini) wurden auch nochmals überarbeitet, denn da gab es Probleme mit mehrzeiligen Memos
  • Ein Problem in der Manifest-Erstellung, welcher fehlerhaftes XML erzeugt, wurde ebenfalls behoben.
    (aber zum Glück hat wohl keiner die Sprache oder den Public Key Token im AssemblyIdentity verwendet, so daß es anscheinend niemandem auffiehl)
  • ansonsten wurde vorwiegend noch an den Innereien gearbeitet
    ( ein bissl hier und da optimiert, da was anders gemacht, dort auch noch Irgendwas usw. )

Weitere Features der Manifeste sind noch nicht integriert wurden.
Hatte anscheinend nur noch so spezielle Dinge gefunden und davon nicht zu Wenige.
Alles zu integrieren wäre zu viel Aufwand, also wenn jemand etwas Bestimmtes benötigt (nachzusehn z.B. ab hier http://msdn.microsoft.com/en-us/library/aa375632.aspx ), dann kann er/sie sich ja gerne melden und ich versuche es dann einzubauen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
535 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Manifest-Creator

  Alt 25. Mai 2010, 08:23
Hallo himitsu,

Vielen Dank,
Das nähert sich der optimalen Lösung!
So müssen nämlich nicht Informationen an 2 verschiedenen Orten gepflegt werden.
(win7 manifest, Anwendungsicon und Dateiinformationen).

2 Kleinigkeiten sind mir aufgefallen.
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?

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?

Ansonsten: Tolle Arbeit

Danke

Gruss Werner
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.363 Beiträge
 
Delphi 12 Athens
 
#4

Re: Manifest-Creator

  Alt 25. Mai 2010, 09: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
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
535 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Manifest-Creator

  Alt 25. Mai 2010, 10: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.
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.363 Beiträge
 
Delphi 12 Athens
 
#6

Re: Manifest-Creator

  Alt 25. Mai 2010, 10: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
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

Re: Manifest-Creator

  Alt 25. Mai 2010, 12: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.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.363 Beiträge
 
Delphi 12 Athens
 
#8

Re: Manifest-Creator

  Alt 25. Mai 2010, 14: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.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

Re: Manifest-Creator

  Alt 25. Mai 2010, 14: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.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
535 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Manifest-Creator

  Alt 25. Mai 2010, 14:26
Auch bei mir läuft's nun flott.
Super danke.

Icon: Such Dir eins aus: http://www.iconarchive.com/
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 7 von 12   « Erste     567 89     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 18:08

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