Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   komisches verhalten auf verschiedenen PCs mit TStringlist (https://www.delphipraxis.net/132521-komisches-verhalten-auf-verschiedenen-pcs-mit-tstringlist.html)

SimStar001 14. Apr 2009 15:38


komisches verhalten auf verschiedenen PCs mit TStringlist
 
Hallo, ich habe jetzt ein merkwürdiges Verhalten auf verschiedenen Rechnern festgestellt.

Folgender Sachverhalt:
im OnCreate Ereignis der Hautform, lasse ich eine Stringliste erstellen, auf die von allen anderen Formen zugegriffen werden kann.
Diese beinhaltet verschiedene Dialoge für verschiedene Sprachen.

Ich lade dann jeweils im OnShow oder OnPaint ergeinis mir die entsprechenden dialoge oder Beschriftungen aus der Liste.

Dies klappt auf meinem Rechner wunderbar, und auf einem PC von nem Kumpel überhaupt nicht, er bekommt dann immer ne Fehlermeldung, dass der Listenindex überschritten sei! Ich konnte auch schon feststellen, dass es sich um die beschriebene Liste handelt.

Nun die Frage woran kann das liegen!?

Bernhard Geyer 14. Apr 2009 15:43

Re: komisches verhalten auf verschiedenen PCs mit TStringlis
 
Ohne etwas bischen Quellcode kann man nur sagen: Da wirst du halt etwas falsch implementiert haben. Greifst du evtl. teilweise auf irgendwelche globalen Variablen zu die nicht initalisiert oder u.U. erst später initialisiert werden?

Sven M. 14. Apr 2009 15:44

Re: komisches verhalten auf verschiedenen PCs mit TStringlis
 
Hast du die Möglichkeit, auf dem anderen Rechner die IDE zu installieren? Dann würde ich mal versuchen mit dem Debugger durchzugehen...

Bernhard Geyer 14. Apr 2009 15:45

Re: komisches verhalten auf verschiedenen PCs mit TStringlis
 
Zitat:

Zitat von Sven M.
Hast du die Möglichkeit, auf dem anderen Rechner die IDE zu installieren? Dann würde ich mal versuchen mit dem Debugger durchzugehen...

Bei D7 reicht der Remote Debugger.

p80286 14. Apr 2009 15:47

Re: komisches verhalten auf verschiedenen PCs mit TStringlis
 
Hallo SimStar001,

nach Deiner Beschreibung ist die Strinlist leer bzw. nicht mit so vielen Lines gefüllt wie das Programm es erwartet.
Liest Du die Inhalte aus einer Datei?

Wenn ja, kann das Programm überhaupt auf die Datei zugreifen?

Gruß
K-H

SimStar001 14. Apr 2009 15:51

Re: komisches verhalten auf verschiedenen PCs mit TStringlis
 
die Liste ist so deklariert:
Delphi-Quellcode:
type
  TForm1 = class(TForm)
   [...]
   public
   Dialogs : Tstringlist;

erstellt wird diese dann im OnCreate Ereignis der Form1

Delphi-Quellcode:
 Dialogs := TStringlist.create;
die daten werden dann im OnCreate Ereignis einer anderen Form geladen

Delphi-Quellcode:
Form1.dialogs.laodfromfile(xyz.txt);
klappt bei mir alles wie geschmiert, auch der Zugriff:

Delphi-Quellcode:
//z.B. Formxyz.Butto1.caption := Form1.dialogs.strings[55];

Zitat:

Sven M. hat folgendes geschrieben:
Hast du die Möglichkeit, auf dem anderen Rechner die IDE zu installieren? Dann würde ich mal versuchen mit dem Debugger durchzugehen...

Bei D7 reicht der Remote Debugger.
Wo finde ich den?


Zitat:

Hallo SimStar001,

nach Deiner Beschreibung ist die Strinlist leer bzw. nicht mit so vielen Lines gefüllt wie das Programm es erwartet.
Liest Du die Inhalte aus einer Datei?

Wenn ja, kann das Programm überhaupt auf die Datei zugreifen?

Gruß
K-H

Ja das programm kann darauf zugreifen, bestimmte dialoge werden ja anscheinend auch geladen! das ist ja das was mich so stutzig macht.

Bernhard Geyer 14. Apr 2009 15:53

Re: komisches verhalten auf verschiedenen PCs mit TStringlis
 
Zitat:

Zitat von SimStar001
Die daten werden dann im OnCreate Ereignis einer anderen Form geladen

Delphi-Quellcode:
Form1.dialogs.laodfromfile(xyz.txt);

Lädst du die Datei ohne Pfadangabe? Dann wird das aktuell Verzeichnis der Anwendung genommen das nur zufälligerweise das Verzeichnis ist in der die Datei liegt. Du benötigst auch die komplette Pfadangabe (z.B. mit ExtractFilePath(Application.ExeName)).

SimStar001 14. Apr 2009 15:55

Re: komisches verhalten auf verschiedenen PCs mit TStringlis
 
ne sorry, natürlich gebe ich den kompletten pfad mittels
Delphi-Quellcode:
extractfilpath(paramstr(0)) + '\Data\Programm\' + Filename);
an

Klaus01 14. Apr 2009 15:56

Re: komisches verhalten auf verschiedenen PCs mit TStringlis
 
.. benutzt Dein Kumpel andere Sprachoptionen?
Sind die (Sprach)Dateien alle gleich groß (Zeilenzahl)?

Grüße
Klaus

SimStar001 14. Apr 2009 15:58

Re: komisches verhalten auf verschiedenen PCs mit TStringlis
 
die zu ladende Dateien sind alle gleich groß. heißt, es sthet in jeder zeile das selbe in der jeweiligen Sprache. Seine Betriebssystemsprache ist Englisch!


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:59 Uhr.
Seite 1 von 2  1 2      

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