![]() |
Re: Manifest-Creator
Hallo Himitsu,
wenn man eine .Ini erneut läd, kommt es zu einer Exception, "List index out of bounds (xxx)"
Delphi-Quellcode:
Kannst Du dir das mal ansehen?
Procedure TForm1.Button2Click(Sender: TObject);
Var F: TIniFile; i, i2: Integer; C: TWinControl; Begin OpenDialog1.DefaultExt := 'ini'; OpenDialog1.FileName := Edit3.Text; OpenDialog1.Filter := SIniFile; OpenDialog1.FilterIndex := 1; If not Assigned(Sender) or OpenDialog1.Execute Then Begin F := TIniFile.Create(OpenDialog1.FileName); Try For i := 0 to ComponentCount - 1 do Begin C := TwinControl(Components[i]); If (GetShortHint(C.Hint) <> '') and (Copy(GetShortHint(C.Hint), 1, 1) <> '*') Then If C is TCustomComboBox Then Begin If TComboBox(C).Style = csDropDownList Then TComboBox(C).ItemIndex := F.ReadInteger('ManifestCreator', GetShortHint(C.Hint), 0) Else TComboBox(C).Text := F.ReadString('ManifestCreator', GetShortHint(C.Hint), ''); End Else If C is TCheckListBox Then Begin For i2 := 0 to TCheckListBox(C).Items.Count - 1 do TCheckListBox(C).Checked[i2] := F.ReadBool('ManifestCreator', //<<< HIER kommt der ERROR GetShortHint(C.Hint) + '_' + TCheckListBox(C).Items[i], False); End Else If C is TCustomCheckBox Then TCheckBox(C).Checked := F.ReadBool('ManifestCreator', GetShortHint(C.Hint), False) Else If C is TCustomEdit Then TEdit(C).Text := F.ReadString('ManifestCreator', GetShortHint(C.Hint), ''); End; Finally F.Free; End; End; End; |
Re: Manifest-Creator
Hallo,
es ist nur eine Vermutung:
Delphi-Quellcode:
Gruß Hawkeye
[...]
End Else If C is TCheckListBox Then Begin For i2 := 0 to TCheckListBox(C).Items.Count - 1 do TCheckListBox(C).Checked[i2] := F.ReadBool('ManifestCreator', GetShortHint(C.Hint) + '_' + TCheckListBox(C).Items[i], False); // <- sollte hier nicht "i2" stehen? End Else If C is TCustomCheckBox Then [...] |
Re: Manifest-Creator
Zitat:
(das Gleiche beim Speichern) sowas passiert, wenn man was umbaut und dann nicht komplett testet ._. ![]() |
Re: Manifest-Creator
Es gab jetzt eigenentlich nur zwei winzigkleine Änderungen.
Man kann sich nun auch ein Resource-Compile-Script mit erstellen/speichern lassen, welches dann aus der .RC eine .RES macht. (siehe Edit und Memo unten rechts im Bild) Und nach dem Speichern von Dateien wird der neue Name/Pfad auch in die zugehörigen Edits eingetragen. (hatte ich irgendwie vergessen) ![]() |
Re: Manifest-Creator
Hallo,
Dieser Thread liegt zwar schon eine Weile brach - aber trotzdem: Bevor ich dupliziere: Hat schon jemand (himitsu?) die Dateiversion in den Manifest-Creator integriert? Falls nein - darf ich überhaupt die Sourcen verwenden? Oder gibt es mittlerweile andere Möglichkeiten einfach ein Win7 Manifest inkl. Dateiversion und Anwendungsicon zu erzeugen (Auch kommerziell)? Wenn man viele kleine Applikationen erstellt ist das schon sehr mühsam. Danke |
Re: Manifest-Creator
Zitat:
Man könne diese auch über eine RC-Datei machen, aber die IDE wird dann ggf. rumzicken... |
Re: Manifest-Creator
Zitat:
aber wie schon erwähnt dürfen diese Informationen dann nicht über Delphi in der Projekt-Resource-Datei (*.res) enthalten sein, da sich dann der Linker über doppelte Resourcen beschwert. (PS: Die Dateiversion ist, als Beispielcode schon enthalten ... Dateiversion > Einschalten > und dann rechts die .RC manuell rauskopieren und bearbeiten) Aber klar ... gib mir ein bissl Zeit ... möglich ist Vieles :angel: |
Re: Manifest-Creator
Zitat:
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? :gruebel: 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
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 |
Re: Manifest-Creator
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.
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 ![]() |
Re: Manifest-Creator
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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:13 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