Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Windows ME - Programm startet nicht (https://www.delphipraxis.net/112576-windows-me-programm-startet-nicht.html)

mdiehlz 23. Apr 2008 18:31


Windows ME - Programm startet nicht
 
Hallo

vor einem Jahr habe ich eine sehr umfangreiches Projekt von Delphi7/BDE auf Delphi2007/Fibplus migriert.
Als System setzen wir mindestens Win2000 voraus und es läuft soweit ohne größere Probleme.
Jetzt haben wir aber einen Fall, in dem der Kunde die Software gerne unter WindowsME laufen lassen möchte.
Das Programm lässt sich aber nicht starten und ME bringt folgende Fehlermeldung:

Dieses Programm kann aufgrund seines ungültigen Formats nicht ausgeführt werden.

Recherche mit Google brachte nicht viel. Als einzige mögliche Fehlerquelle wurden die Ressourcen genannt.
Jede Ressource-ID mit Ausnahme von Strings und den IDs der Controls müssen kleiner als 32768 sein.

Sind die Ressourcen generell zu umfangreich geworden?
Im Rahmen der Migration sind viele neue Datenmodule entstanden.

In der Ex konnte ich mit einem Ressourceneditor als höchste ID 32767 feststellen.

Kann jemand etwas zu diesem Problemfall sagen?

Martin

Poelser 23. Apr 2008 19:10

Re: Windows ME - Programm startet nicht
 
Moin,

tja, Ursachen gibt es da sicher einige. Was auf den älteren Betriebssystemen von M$ auf jeden Fall recht begrenzt ist, ist die Anzahl Handles. Auch bin ich mir nicht sicher, ob die Fehlermeldung auch wirklich den Kern trifft. Ist die denn vom Betriebssystem oder von deiner Applikation?

CU, Eddi

mdiehlz 23. Apr 2008 19:36

Re: Windows ME - Programm startet nicht
 
Zitat:

Zitat von Poelser
tja, Ursachen gibt es da sicher einige. Was auf den älteren Betriebssystemen von M$ auf jeden Fall recht begrenzt ist, ist die Anzahl Handles. Auch bin ich mir nicht sicher, ob die Fehlermeldung auch wirklich den Kern trifft. Ist die denn vom Betriebssystem oder von deiner Applikation?

Ich tippe auf das Betriebssystem.
Es gibt nämlich noch eine zweite Meldung:

Die Datei "C:\Programme\Test\xxx.exe" ist fehlerhaft.
Installieren Sie das Programm erneut und wiederholen Sie den Vorgang.

Ich teste z.Z. auf einem ziemlich nackten Windows ME in einer virtuellen Maschine und habe dort noch nicht die Tools für eine ausführlicheren Analyse installiert.

Handel sollten ausreichend vorhanden sein. Lief vor der Migration auch auf Win98/ME.
Es werden am Anfang nur 3 Datenmodule und ein Formular erzeugt.

Ein anderes etwas kleineres Programm, mit dem man den Connect zur Datenbank prüfen kann, läuft ohne Probleme.

Martin

Bernhard Geyer 23. Apr 2008 20:19

Re: Windows ME - Programm startet nicht
 
Hast du evtl. neue Icons (Ico/BMP/PNG-Dateien) in deinem Projekt ergänzt? Am besten noch als ImageList? Dann könnte es u.U. das Problem wie unter TElImageList beschrieben sein. Ansonsten ist zu geringe Farbtiefe auch problematisch.

mdiehlz 25. Apr 2008 08:04

Re: Windows ME - Programm startet nicht
 
Zitat:

Zitat von Bernhard Geyer
Hast du evtl. neue Icons (Ico/BMP/PNG-Dateien) in deinem Projekt ergänzt? Am besten noch als ImageList?

Ich nicht, aber evtl upgedatete Fremdkomponenten.

Zitat:

Zitat von Bernhard Geyer
Dann könnte es u.U. das Problem wie unter TElImageList beschrieben sein.

Hmm - welche Problembeschreibung? Der Link verweist nur auf die Produktbeschreibung für "LMD ElPack for Delphi / CBuilder"

Zitat:

Zitat von Bernhard Geyer
Ansonsten ist zu geringe Farbtiefe auch problematisch.

Es ist ausreichende Farbtiefe vorhanden.

Bernhard Geyer 25. Apr 2008 08:50

Re: Windows ME - Programm startet nicht
 
Zitat:

Zitat von mdiehlz
Zitat:

Zitat von Bernhard Geyer
Dann könnte es u.U. das Problem wie unter TElImageList beschrieben sein.

Hmm - welche Problembeschreibung? Der Link verweist nur auf die Produktbeschreibung für "LMD ElPack for Delphi / CBuilder"

Hättest du nach TElImageList gesucht hättest du folgendes gefunden:

Zitat:

ElImageList doesn't introduce new methods and properties. It only fixes a bug with standard ImageList, that "loses" the images, when different versions of comctl32.dll are used. Also, ElImageList stores images in RLE-compressed form, thus making your form and application executable smaller.

mdiehlz 25. Apr 2008 09:45

Re: Windows ME - Programm startet nicht
 
Zitat:

Zitat von Bernhard Geyer
Zitat:

Zitat von mdiehlz
Zitat:

Zitat von Bernhard Geyer
Dann könnte es u.U. das Problem wie unter TElImageList beschrieben sein.

Hmm - welche Problembeschreibung? Der Link verweist nur auf die Produktbeschreibung für "LMD ElPack for Delphi / CBuilder"

Hättest du nach TElImageList gesucht hättest du folgendes gefunden:

Zitat:

ElImageList doesn't introduce new methods and properties. It only fixes a bug with standard ImageList, that "loses" the images, when different versions of comctl32.dll are used. Also, ElImageList stores images in RLE-compressed form, thus making your form and application executable smaller.

Ok - aber das Programm kommt gar nicht soweit, dass es gestartet wird. Nicht mal ansatzweise.
Ich vermute ME analysiert die Exe sund stellt fest, dass die Ressourcen nicht valid sind oder irgendwelche Grenzen überschritten werden und bricht ab.

Aktuell werden circa 750 DFM-Dateien und auch einiges an Strings und Bitmaps als Ressource eingebunden. Wobei die meisten Bitmaps von externen Komponenten, wie z.B. VirtualTreeview und Reportbuilder stammen. Dazu kommt noch was Delphi generell reinpackt.

Martin

Bernhard Geyer 25. Apr 2008 09:48

Re: Windows ME - Programm startet nicht
 
Wie groß ist die Exe und läuft die Exe auch unter Win98?

WinME ist bekannt dafür das sie die Fehler aus der Win9x und NT-Schiene vereint ohne wirklich getestet zu sein.
Wir unterstützen zwar noch Win98, aber ME steht schon seit Jahren nicht mehr auf der Liste der Supported Plattformen.

mdiehlz 25. Apr 2008 10:33

Re: Windows ME - Programm startet nicht
 
Zitat:

Zitat von Bernhard Geyer
Wie groß ist die Exe und läuft die Exe auch unter Win98?

WinME ist bekannt dafür das sie die Fehler aus der Win9x und NT-Schiene vereint ohne wirklich getestet zu sein.
Wir unterstützen zwar noch Win98, aber ME steht schon seit Jahren nicht mehr auf der Liste der Supported Plattformen.

Die Exe hat 13,5MB und unter Win98 habe ich exakt die gleichen Probleme!
Offiziell supporten wir ab Win2000 und aufwärts, aber Kunde ist König und wir bemühen uns um eine Lösung.
:coder2:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:50 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