Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Programm läuft nur auf dem eigenen Rechner (https://www.delphipraxis.net/65296-programm-laeuft-nur-auf-dem-eigenen-rechner.html)

blablab 14. Mär 2006 20:06


Programm läuft nur auf dem eigenen Rechner
 
Hallo,

ich muss ganz ehrlich sagen, ich wusste nicht genau, nach was ich suchen soll und deshalb hoffe ich, dass es so ein Thema noch nicht gibt.

Also, wenn ich ganz normal ein Programm kompiliere (auch unterschiedliche Programme), hab ich festgestellt, dass es nur auf meinem Rechner läuft. Ich glaube, dass es nur auf Rechnern läuft, auf denen auch Delphi installiert ist.

Letztendlich bin ich darauf gekommen (ich weiß gar nicht mehr wie), dass das Programm nur dann läuft, wenn ich alle Symbole, die im Programm verwendet werden lösche und sie dann wieder neu lade. (Bei der TImageList)

Außerdem bekomme ich regelmäßig den Fehler "Konnte Symboldateien nicht laden", wenn ich ein Delphi-Projekt öffne. Vielleicht hängt es ja damit zusammen...

Weiß jemand dazu was???

schonmal danke!

faux 14. Mär 2006 20:10

Re: Programm läuft nur auf dem eigenen Rechner
 
Wie macht sich das "nicht laufen" denn bemerkbar? Durch eine Fehlermeldung, einen Systemabsturz, durch nichts (Programm startet einfach nicht)?!
Stell mal vielleicht so eine Binary online, dann können das andere auch testen, oder?

Grüße
Faux

DP-Maintenance 14. Mär 2006 20:14

DP-Maintenance
 
Dieses Thema wurde von "MrSpock" von "Tools rund um Delphi" nach "Sonstige Fragen zu Delphi" verschoben.
Passt besser in diese Sparte.

blablab 14. Mär 2006 20:33

Re: Programm läuft nur auf dem eigenen Rechner
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also, ich glaub ich hätte noch dazuschreiben sollen, dass der Fehler nur bei Win95 auftrat (und auch nur bei Win95 getestet wurde).

Ich bin mir nicht mehr ganz sicher, wie genau die Fehlermeldung hieß. Es kam auf jeden Fall beim Starten des Programms eine Fehlermeldung. Ich bin mir nicht mehr ganz sicher, wie diese hieß und ich hab auch grad kein Win95 mehr zur verfügung um es auszuprobieren. Auf jeden Fall konnte das Programm nach der Fehlermeldung nicht mehr gestartet werden.

Zu dem angehängten Programm:
Ich bin mir sicher, dass der Fehler bei diesem Programm kam. Ich möchte aber nicht das Programm hochladen, deshalb hab ich es etwas abgespeckt... aber die Komponenten sind trotzdem enthalten und deshalb sollte der Fehler trotzdem auftachen.
Ich bin mir ziemlich sicher, dass der Fehler völlig unabhängig vom Programmtext auftaucht, sondern nur durch die TImageList hervorgerufen wird, die anscheinen die Symbole nicht ganz korrekt abspeichert.

Flare 14. Mär 2006 20:46

Re: Programm läuft nur auf dem eigenen Rechner
 
Also bei mir läuft es, wenn es nur eine leere Form sein soll.


Flare

Matze 14. Mär 2006 20:54

Re: Programm läuft nur auf dem eigenen Rechner
 
Hi,

ich kann mir nur vorstellen, dass du API-Funktionen nutzt, die nur unter Win NT ff. laufen und nicht unter Win9x. Könnte das sein?

Wenn der relevante Code nicht zu lange ist, wäre es sicher hilfreich, wenn du ihn uns mitteilen würdest.

blablab 14. Mär 2006 20:56

Re: Programm läuft nur auf dem eigenen Rechner
 
Wie bereits wahrscheinlich deutlich geworden ist: es ist ein etwas komischer Fehler. Es kann sein, dass der Fehler wirklich nur bei Win95 auftritt. Und außerdem kam der Fehler auch nicht immer, und wenn ich die TImageList leergelöscht habe, das Programm compiliert und dann wieder mit den gleichen Images vollgefüllt habe und wieder alles compilert habe, dann ging es wieder. Eben etwas komisch!

Ich würde das ganze gerne nochmal auf nem win95 rechner ausprobieren um dann eine Anwendung hochladen zu könne, bei der der Fehler 100%ig auftaucht. aber wie gesagt habe ich zur zeit keinen solchen rechner zur verfügung...

blablab 14. Mär 2006 21:00

Re: Programm läuft nur auf dem eigenen Rechner
 
Also ich benutze keine API-Funktionen, die unter Win95 nicht laufen.
Den Programmtext möchte ich nicht hochladen und er würde auch etwas länger sein.
Aber eines ist ganz sicher: ich habe das programm compiliert, dann lief es nicht. nachdem ich NICHTS verändert habe, außer die TImageList leerzulöschen und dann wieder aufzufüllen, lief es auf dem Win95-rechener.
Deshalb kann es ja nicht am programmtext liegen...

Hansa 14. Mär 2006 21:02

Re: Programm läuft nur auf dem eigenen Rechner
 
Wer soll auf so eine Frage eine Antwort haben ? Leere Form, vergessene Fehlermeldung. Und dann noch altes Win95 und nicht mal ein verfügbarer Rechner zum Testen. Keinerlei Hinweis auf das, was das Programm überhaupt machen soll. Fazit : Hellseher wird gebraucht. Gut, ich fange an. :mrgreen: BDE verwendet und nicht installiert ? Fehlende MSVCP60.DLL ? Letztere ist nicht mal bei jeder W2000 Installation dabei. Meine Glaskugel sagt allerdings, es sähe schwer nach einer Zugriffsverletzung wegen Zugriff auf nicht initialisierte Variablen aus und hätte demnach mit der Win Version nur zufällig zu tun. Sie meint, eventuell würde Free zu früh aufgerufen. 8)

blablab 14. Mär 2006 21:10

Re: Programm läuft nur auf dem eigenen Rechner
 
Ich hab nicht erwartet, dass jemand hellsieht. Vielmehr hoffte ich, dass jemand diesen fehler kennt, da er bei mir wirklich nach jedem compilieren auftauchte.

und wie bereits gesagt, es hängt nicht vom Programm ab, auch nicht vom Programmtext. der Fehler kam bei verschieden Programmen, beim Starten des Programms um genauer zu sein.
zu den hellseher-versuchen: ich habe das programm compiliert, dann lief es nicht. nachdem ich NICHTS verändert habe, außer die TImageList leerzulöschen und dann wieder aufzufüllen, lief es auf dem Win95-rechener.
Deshalb kann es ja nicht am programmtext liegen...
es kann auch nicht an der bde oder sonstigem liegen, da ich sonst nichts verändert habe.

Bernhard Geyer 14. Mär 2006 21:28

Re: Programm läuft nur auf dem eigenen Rechner
 
Stell mal unter Win95 eine andere Farbtiefe und Auflösung ein. Ich glaube mich zu erinnern das es unter alten Windows-Version im diversen Grafikkartentreibern Probleme mit der ImageList geben kann.

blablab 14. Mär 2006 21:57

Re: Programm läuft nur auf dem eigenen Rechner
 
Na toll, jetzt musste ich extra den alten PC wieder aufbauen...

Also, ich fasse alles nochmal kurz zusammen:

Ich habe einen Rechner mit Win95. Wenn ich irgendein Programm, welches eine TIMageList-Komonete beinhaltet, mit Delphi 7.0 compilere, tritt ein Fehler beim Ausführen unter Win95 auf.
Unmittelbar nach doppelklicken auf die Anwendung, die weiter oben gedownloaded werden kann (ja, es ist nur eine leere Form mit TImagaList und ohne jeglichen Programmtext), kommen folgende Fehlermeldungen:
1.
"Diese Anwendung wird aufgrund eines ungültigen Vorgangs beendet.

Wenden Sie sich an den Hersteller, falls das Problem weiterhin besteht."

2.
"Exception EReadError in Modul B.EXE bei 000209F7.
Fehler beim Lesen von ImageList1.Bitmap: ImageList-Daten konnten nicht aus dem Stream gelesen werden."

Dann wird das Programm beendet.


Wenn ich jetzt aus der TImageList-Komponente alle Icons herauslösche, neu compiliere, dieselben Icons wieder in dieselbe TIMageList einlese und nochmals compiliere, läuft das Programm unter Win95 ohne irgendwelche Fehlermeldungen.


@Bernhard Geyer:
Danke für deine Antwort, aber ich hab es unter verschiedenen Auflösungen und Farbtiefen auspriobiert, daran liegt es aber nicht.


Also, jetzt wie auch davor, sind auch die Nicht-Hellseher gefragt.
Kennt irgendjemand diesen Fehler?
Weiß jemand, warum dieser Fehler auftaucht?
Weiß irgendjemand eine bessere Lösung des Problems?

Danke schonmal im Voraus

Simon

Hansa 14. Mär 2006 22:41

Re: Programm läuft nur auf dem eigenen Rechner
 
Zitat:

Zitat von blablab
Deshalb kann es ja nicht am programmtext liegen...
es kann auch nicht an der bde oder sonstigem liegen, da ich sonst nichts verändert habe.

Nochmals : keine voreiligen Schlüsse ziehen. "es kann auch nicht an der bde oder sonstigem liegen", das heißt im Prinzip, daß die BDE verwendet wird. Folge : ist sie auf dem Zielrechner überhaupt installiert ? Das war die ertsr Frage. Für das "sonstige" : was soll das denn sein ? Woher kommt die Schlußfolgerung, daß es an diesem nicht präzisierten Teil nicht liegen kann ? Sorry, aber ohne genaue Nennung der Fehlermeldung läßt sich da nichts machen, außer auf einen Zufallstreffer zu hoffen.

blablab 14. Mär 2006 22:51

Re: Programm läuft nur auf dem eigenen Rechner
 
@hansa:
ich muss ganz ehrlich sagen, ich versteh dein argument nicht.



ich hab das programm, ich starte es, und es kommen die beiden fehlermeldung

1.
"Diese Anwendung wird aufgrund eines ungültigen Vorgangs beendet.

Wenden Sie sich an den Hersteller, falls das Problem weiterhin besteht."

2.
"Exception EReadError in Modul B.EXE bei 000209F7.
Fehler beim Lesen von ImageList1.Bitmap: ImageList-Daten konnten nicht aus dem Stream gelesen werden."

dann compiliere ich dasselbe programm wieder (und hab in der zwischenzeit nur die TImageList-Komponente leergelöscht und wieder aufgefüllt) und das programm läuft einwandfrei.



wie kann das denn an der bde liegen???[i]

Bernhard Geyer 14. Mär 2006 22:53

Re: Programm läuft nur auf dem eigenen Rechner
 
Ist es ein "blankes" Win95 oder ist das BS schon aufgrund eines installierten IE 5 schon halb ausgetauscht?
Falls "blankes" Win95 so können solche Probleme sicherlich auftreten da D7 mit sicherheit nicht mehr auf die Uralt-DLL's von W95-Orginal ausgelegt ist. Und ich würde ich dir auch empfehlen für Win95 einfach einen halbwegs aktuellen IE vorzusehen.

Sonst schau mal unter ElPack -> TElImageList

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.
Evtl. bedeutet auch "looses" das die Anwendung gar nicht mehr geht.

blablab 14. Mär 2006 23:46

Re: Programm läuft nur auf dem eigenen Rechner
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab jetzt das Programm so weit es geht abgespeckt. Das ist jetzt die Anwendung, bei der der oben genannte Fehler auftritt. Wer will kann sich den Quelltext anschauen, er wird aber nicht viel entdecken können...

blablab 18. Mär 2006 09:39

Re: Programm läuft nur auf dem eigenen Rechner
 
Ich bin jetzt zu dem ergebnis gekommen, dass es ein Fehler von Delphi ist.
Denn als ich Delphi neu gestartet habe und dann das Projekt geöffnet kam wierder der fehler "Kann Symboldatei nicht lesen".
Ich weiß nicht wann der Fehler auftritt und ich weiß nicht wieso er auftritt... Aber sobald wieder der Fehler "Kann Symboldatei nicht lesen" auftritt, bleibt mir wohl nichts anderes übrig, als alle Symbole wieder aus TImageList herauszulöschen und dann wieder einzufügen.
Solange das wenigsten klappt...

Trotzdem danke euch, dass ihr euch so viel mit dem Fehler beschäftigt habt und versucht habt mir zu helfen!

Simon


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