| |
|
|
- Seite 1 - |
|
Matthias Arlt | Bei der Fehlersuche in einem meiner Programme ist mir aufgefallen, dass ein schreibender Zugriff mit "UpdateResource" auf die Runtime (bzw. Interpreter) regelmäßig die Datei unbrauchbar macht. Soweit ich herausgefunden habe, oder dies jedenfalls annehme, wird der Schreibvorgang zwar ausgeführt, aber die Änderung nicht im Header eingetragen... Dies führt dann beim Startversuch der Datei zu unterschiedlichen Fehlermeldungen. Meist "Nur ein Teil der ReadProcessMemory- oder WriteProcessMemory-Anforderung wurde abgeschlossen" oder "Falscher Parameter...". Es betrifft auch ausschliesslich FreeProfan, die XProfan-Versionen sind von diesem Effekt nicht betroffen.
Gruß Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 10.04.2016 ▲ |
|
|
|
| |
|
- Seite 6 - |
|
|
Matthias Arlt | Auf diesem Rechner ist XP drauf, was ich auch bevorzugt verwende. (Auf dem Laptop wäre zur Not auch noch Win8, aber der ist derzeit anderweitig im Einsatz)
Ich kann die Ressource mit ResourceHacker öffnen und auch als RES-Datei speichern. Gelistet wird sie mit Sprachbezeichner NULL. Und so steht es auch im Binärcode an der entsprechenden Stelle |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 27.04.2016 ▲ |
|
|
|
|
RGH | Ich habe mal mein XP-Netbook abgestaubt und getestet: Es ist ein XP-Problem. Der Sprachbezeichner darf natürlich nicht NULL sein, sondern müsste bei LANG_NEUTRAL genau 0 sein. Ein erheblicher Unterschied.
BTW: Die Bitmaps haben auch "Language Neutral" als Sprache.
Die UpdateRessource-API scheint bei XP also nicht korrekt zu funktionieren. (Obwohl sie laut MSDN ab Windows 2000 funktionieren sollte.)
Ich schaue mal weiter. (Auch wenn es heuzutage mindestens VISTA sein sollte.)
Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 27.04.2016 ▲ |
|
|
|
|
Matthias Arlt | Ich meine natürlich auch 0. Schreibe es nur gerne als Wort, weil man es in manchem Zusammenhang für ein O halten kann, Sorry...
Dem Verdacht mit einer evtl. fehlerhaften API bin ich auch schon nachgegangen. Bisher ergebnislos, da sie bei allen sonstigen Ressourcen korrekt arbeitet.
Gruß Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 27.04.2016 ▲ |
|
|
|
|
RGH | Arrrggghhh ... hab ihn: Windows XP verträgt keine Kleinbuchstaben im Ressourcennamen! Nachdem ich nun den Namen der Ressource von "Programm" auf "PROGRAMM" geändert habe, klappt es auch unter XP!
Ich habe das Paket (nur der Compiler wurde verändert) neu hochgeladen. Ich bitte um Nachricht, wenn es jetzt auch bei Dir funktioniert!
Gruß Roland |
|
|
| XProfan X3Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 27.04.2016 ▲ |
|
|
|
|
Matthias Arlt | |
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 27.04.2016 ▲ |
|
|
|
|
Matthias Arlt | Klappt hervorragend, besten Dank!
Darauf muss auch erstmal kommen. Ich selbst habe gewohnheitsmäßig immer Grossbuchstaben oder Zahlen verwendet, weil ich das als Standard ansah. Dadurch trat das nie in Erscheinung. Dokumentiert scheint es auch nicht zu sein, denn sonst wäre ich schon drüber gestolpert...
Gruß Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 27.04.2016 ▲ |
|
|
|
|
RGH | Danke für die rasche Rückmeldung!
Das werde ich dann auch in die Hilfe aufnehmen, dass man für den Ressorcennamen Großbuchstaben verwenden soll.
Gruß Roland |
|
|
| XProfan X3Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 27.04.2016 ▲ |
|
|
|
|
Matthias Arlt | Ja, das sollte unbedingt in die Hilfe, denn wissen werden das die Wenigsten. Und man kann sich sonst dusselig suchen......
Also Danke nochmal und für heute Gute Nacht von meiner Seite
Gruß Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 27.04.2016 ▲ |
|
|
|
|
Matthias Arlt | Um das Thema damit abzurunden, hier mal noch ein vlt. nützlicher Hinweis. Ich bin beim "UPX-Packer" auf eine von mir bislang unbeachtete Option gestoßen, die es erlaubt, einzelne Ressourcen von der Komprimierung auszunehmen. Dazu einfach in die UPX-Befehlszeile
--keep-resource="XPRC" (die Anführungszeichen sind wohl auch entbehrlich...)
einfügen. Damit ist nun doch ein vollständiges Packen (also auch der Ressourcen) der fertigen EXE möglich. Lediglich das Compilat bleibt vom Packen verschont und die EXE damit lauffähig.
Gruß Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 28.04.2016 ▲ |
|
|
|
|
RGH | Danke für den Hinweis!
Gruß Roland |
|
|
| XProfan X3Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 28.04.2016 ▲ |
|
|
|
|
Matthias Arlt | Roland, mal noch 'ne Frage zu den Runtimes. Bei vielen Tests mit unterschiedlichen Versionen, wie jetzt in den letzten Tagen, wäre es manchmal hilfreich gewesen, die unterschiedlichen Runtimes zu unterscheiden. So lange die originale VersionsInfo vorhanden ist, ist es ja kein Problem. Wenn nicht, geht schon mal leicht die Übersicht verloren...
Gibt es irgendwo im Binärcode ein zuverlässiges Merkmal, anhand dessen man eine unverlinkte Runtime einer Profan-Version oder einem Build zuordnen oder sie zumindest voneinander unterscheiden kann ?
Gruß Matthias |
|
|
| WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia | 28.04.2016 ▲ |
|
|
|
|
RGH | Nein, außer der Versionsinfo (und dem Timestamp) gibt es keine Möglichkeit, die unterschiedlichen Builds zu unterscheiden. Da ich meine Entwicklungsumgebungen so eingestellt habe, dass die Build-Nummer beim Kompilieren immer hochgezählt wird, ist diese eindeutig.
Die offizielle Versionsnummer (bei FreeProfan aktuell 0.95) wird als Fenstertitel angezeigt, wenn dieser im Programm nicht überschrieben wird. Diese passe ich natürlich nicht bei jeder experimentellen Version an.
Gruß Roland |
|
|
| XProfan X3Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 28.04.2016 ▲ |
|
|
|