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 startet auf bestimmte Rechner nicht (https://www.delphipraxis.net/97778-programm-startet-auf-bestimmte-rechner-nicht.html)

mlspider 16. Aug 2007 03:51


Programm startet auf bestimmte Rechner nicht
 
Meine Applikation startet auf einige Rechner nicht. Es kommt vielmehr eine Fehlermeldung, dass dieses Programm auf diesem Speicher nicht ausgeführt werden kann (fehlerhafte Gleitkommaoperation). Darauf hin habe ich auf einen Problemrechner Delphi installiert und versucht das Programm dort erneut zu compilieren. Ohne Erfolg. Der Compiler bleibt bei folgender Procedur hängen:

Delphi-Quellcode:
procedure GetCpuInfo(var CpuInfo: TCpuInfo);
begin
  CpuInfo := CPUID;
  CpuInfo.IsFDIVOK := TestFDIVInstruction;
  if CpuInfo.HasInstruction then
  begin
    if (CpuInfo.Features and TSC_FLAG) = TSC_FLAG then
      GetCpuSpeed(CpuInfo.FrequencyInfo);
    CpuInfo.MMX := (CpuInfo.Features and MMX_FLAG) = MMX_FLAG;
  end;
end;
Dies ist aus der JclSysInfo-Unit.

Könnte es an den Jedi-Kompos liegen? Sollte ich eine Pentium sichere Direktive setzen? Sollte man die Jcl Version tauschen? Ich verwende JVCL 2.10.

[edit=SirThornberry]Editiert um Highlighting auf die Sprünge zu helfen - Mfg, SirThornberry[/edit]

mkinzler 16. Aug 2007 05:36

Re: Programm startet auf bestimmte Rechner nicht
 
Habe die Rechner auf denen es nicht funktioniert etwas gemeinsam?
In deinem Code wird ja nichts gerechnet, deshalb muß der Fehler woanders liegen (TestFDIVInstruction, GetCpuSpeed)
Schon mal mit der aktuellen JCL versucht?

DelphiProgrammierer 16. Aug 2007 06:59

Re: Programm startet auf bestimmte Rechner nicht
 
Ich möchte nur den Gedanken in den Raum werfen, dass ich schon den "fehlerhafte Gleitkomma-Operation"-Fehler bekam, wenn ich mit nicht initialisierten Variablen bzw. mit Range-Verletzungen zu tun hatte (ich in ein Array-Element schrieb, das es nicht gab).
Vielleicht liest Du ja eine 20 zeilige Datei zeilenweise in ein Array ein, wo nur für 10 Zeilen Elemente angelegt sind?
Es würde für diesen Zweck mal etwas helfen, mit Bereichs- und Überlaufprüfungen zu compilieren.

angos 16. Aug 2007 07:26

Re: Programm startet auf bestimmte Rechner nicht
 
hi,

hört sich vielleicht etwas banal an, aber auch danach hab ich mal suchen müssen:

Systemsteuerung -> Regions- und Sprachoptionen -> Sind hier das gleichen Zeichen für Dezimaltrennzeichen und Tausendertrennzeichen auf allen Rechnern? Vielleicht ist dort "." und "," einfach vertauscht.


Gruß

Ralf Kaiser 16. Aug 2007 07:30

Re: Programm startet auf bestimmte Rechner nicht
 
Zitat:

Zitat von mlspider
Könnte es an den Jedi-Kompos liegen? Sollte ich eine Pentium sichere Direktive setzen? Sollte man die Jcl Version tauschen? Ich verwende JVCL 2.10.

Auf jden Fall! Die Version der JEDIs die bu benutzt ist Jahre alt! Der Fehler mit GetCPUSpeed aus JCL ist schon sehr lange Zeit behoben und hatte (wenn ich mich recht erinnere) etwas mit HyperThreading zu tun.

Mach mal ein Update auf die momentanen Versionen.

mlspider 16. Aug 2007 13:01

Re: Programm startet auf bestimmte Rechner nicht
 
So, ich habe jetzt die aktuelle Jediversion eingespielt. Zwar mußte ich einige Komponenten tauschen, aber nun läßt sich das Programm auch auf meinem "Problemrechner" starten.

Danke für die zahlreichen Ansätze.

EarthQuaker 16. Aug 2007 15:38

Re: Programm startet auf bestimmte Rechner nicht
 
Hallo.. habe so ein ähnliches problem auch... und zwar wie ermittle ich ob meine CPU: SSE, SSE2, SSE3 unterstützte?

Verwende ebendfalls JVCL und JCL Komponenten.. (stand 16. Juli 2007)

Währe euch sehr verbundenn wenn ich mir da helfen könnt!! DANKE!!!!


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