Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Problem mit großer Textdatei (https://www.delphipraxis.net/165628-problem-mit-grosser-textdatei.html)

PeSch 12. Jan 2012 12:00

AW: Problem mit großer Textdatei
 
Hallo Leute,

Sorry das ich nochmal stören muss. Das Programm funktioniert tadellos auf meinem 32-Bit Win7 Rechner, sowie auf einem 32-Bit WinXp Rechner. Aus irgendeinem Grund bekomme ich aber auf meinem 64-bit Win7 Rechner folgenden Error: "Invalid Filename". Wenn ich das Programm aus der IDE heraus starte, dann compiliert er das Programm problemlos (wieso auch nicht) und sobald er das Programm dann versucht zu starten kommt dieser Speichererror: "Exception Class SIGSEGV".

Meine Frage: Woran liegt das? Also Comodo Firewall ist aus, AVG Antiviren Software ebenfalls. Schreibschutz der Zieldatei liegt ebenfalls nicht vor.

Ich kann mir das nur mit der Speicherverwaltung von Win7 64Bit erklären, nur weiss ich nicht was ich dagegen machen soll? Das Programm mit Adminrechten zu starten brachte auch keinen Erfolg.

Hat vielleicht jemand eine Idee was die Ursache sein könnte?

MfG

Peter

Klaus01 12. Jan 2012 12:07

AW: Problem mit großer Textdatei
 
Hallo,

ist in dem Dateinamen auch der absolute Pfad enthalten?
Wo liegt die Datei - hast Du eventuell darauf keinen Zugriff?

SIGSEGV - riecht eher nach einem Unix-System als Windows 7
Speicherschutzverletzung - vielleicht als folge der nicht gefundenen Datei??

Grüße
Klaus

p80286 12. Jan 2012 12:15

AW: Problem mit großer Textdatei
 
Zitat:

Zitat von Klaus01 (Beitrag 1145609)
SIGSEGV - riecht eher nach einem Unix-System als Windows 7
Speicherschutzverletzung - vielleicht als folge der nicht gefundenen Datei??

Oder anders herum, eine wilde Schreiboperation hat den Dateinamen geschrottet.

Gruß
K-H

PeSch 12. Jan 2012 12:42

AW: Problem mit großer Textdatei
 
Zitat:

Zitat von Klaus01 (Beitrag 1145609)
Hallo,

ist in dem Dateinamen auch der absolute Pfad enthalten?
Wo liegt die Datei - hast Du eventuell darauf keinen Zugriff?

SIGSEGV - riecht eher nach einem Unix-System als Windows 7
Speicherschutzverletzung - vielleicht als folge der nicht gefundenen Datei??

Grüße
Klaus

Dateiname und absoluter Pfad sind vorhanden, es ist im Prinzip alles so wie auf den 32bit Systemen, nur das er hier nicht funktioniert. Diesen Error hatte ich öfters mal, wenn ich die Array Länge (und damit die Speicherplatzzuweisung) nicht vorab im Programm angegeben hatte, ist aber hier nicht der Fall. Zugriff habe ich auch, manuell kann ich die Datei ja auch ohne weiteres bearbeiten. Und andere Programme, bspw. Mathematica von Wolfram können die Datei ja auch ohne weiteres bearbeiten und verwenden.

@K-H:

Sollte eigentlich nicht. Ich habe die Datei nur vom USB Stick in einen Ordner der HD kopiert.

Ein Freund von mir meinte, die Speicherverwaltung von 64bit System sei ganz anders als bei 32bit Systemen. Aber mir ist nicht ganz klar, was genau sich da so restriktiv verhält. Ich meine, im Notfall kann ich auch die Daten auf einem andern Rechner durch meine Programme laufen lassen, ist halt nur recht umständlich.

himitsu 12. Jan 2012 12:47

AW: Problem mit großer Textdatei
 
Zitat:

Zitat von PeSch (Beitrag 1145617)
Sollte eigentlich nicht.

Er meinte: Dein Programm hat vermutlich einen Bug/Fehler, welcher sich unter 64 Bit so zeigt, bzw. welcher zufällig bei dir anders auftritt und dabei weniger kaputt macht.

Was sagt denn der Debugger, wie die Variablen kurz vor dem einen Funktionsaufruf aussehn?

PeSch 12. Jan 2012 15:12

AW: Problem mit großer Textdatei
 
Zitat:

Zitat von himitsu (Beitrag 1145619)
Zitat:

Zitat von PeSch (Beitrag 1145617)
Sollte eigentlich nicht.

Er meinte: Dein Programm hat vermutlich einen Bug/Fehler, welcher sich unter 64 Bit so zeigt, bzw. welcher zufällig bei dir anders auftritt und dabei weniger kaputt macht.

Was sagt denn der Debugger, wie die Variablen kurz vor dem einen Funktionsaufruf aussehn?

Ich hoffe ich verstehe die Frage richtig: Er sagt nur, dass zwei Variablen deklariert, aber nie benutzt wurden (die stammen noch aus einer früheren Version des Codes) und ansonsten nur "Projekt erfolgreich kompiliert :)".

Dann crashed das Programm direct und er zeigt mir:

Delphi-Quellcode:
program Perseus;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Interfaces, // this includes the LCL widgetset
  Forms, Unit1
  { you can add units after this };

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
und den zuvor genannten Error.

Mfg

Peter

p80286 12. Jan 2012 16:18

AW: Problem mit großer Textdatei
 
Zitat:

Zitat von himitsu (Beitrag 1145619)
Was sagt denn der Debugger, wie die Variablen kurz vor dem einen Funktionsaufruf aussehn?

Damit ist gemeint, entweder einen Haltepunkt setzen (F5) oder gaanz laaangsam mit F7 durch das Programm steppen, und die ganze Zeit die Variablen bzw ihre Inhalte im Blick behalten.

Gruß
K-H

himitsu 12. Jan 2012 22:09

AW: Problem mit großer Textdatei
 
Zitat:

Zitat von p80286 (Beitrag 1145671)
Damit ist gemeint, ...

Jupp.

Zitat:

Er sagt nur, dass zwei Variablen deklariert, aber nie benutzt wurden
Das sagt der Compiler (Linker inbegriffen) und nicht der Debugger.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:23 Uhr.
Seite 2 von 2     12   

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