AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fehlermeldung bei AssignFile

Ein Thema von dersunny · begonnen am 19. Jan 2011 · letzter Beitrag vom 13. Feb 2011
Antwort Antwort
alfold

Registriert seit: 29. Jun 2010
Ort: Neustrelitz
393 Beiträge
 
Delphi 7 Enterprise
 
#1

AW: Fehlermeldung bei AssignFile

  Alt 19. Jan 2011, 22:31
Schon aus Neugierde würde ich mir sowas anschauen, nur um zu verstehen was @Sir Rufo mir da gesagt hat und was passiert ist, mit dieser Anweisung!

Er hätte Dir auch ein del geben können

Gruss alfold
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Fehlermeldung bei AssignFile

  Alt 19. Jan 2011, 22:32
Schon aus Neugierde würde ich mir sowas anschauen, nur um zu verstehen was @Sir Rufo mir da gesagt hat und was passiert ist, mit dieser Anweisung!

Er hätte Dir auch ein del geben können

Gruss alfold
Gebt mir ein D
Gebt mir ein E
Gebt mir ein L
Gebt mir ein Fluchtwagen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
MSerror

Registriert seit: 28. Jan 2010
10 Beiträge
 
Delphi 2010 Professional
 
#3

AW: Fehlermeldung bei AssignFile

  Alt 11. Feb 2011, 00:16
Ich benutze Delphi 2010 Pro.
Das Problem mit AssignFile und Reset gibt es auf allen Windows 7 x64 Distributionen.

Hier ein Stück Code:

Delphi-Quellcode:
type
    myfile = RECORD
             name : string[100];
             email : string[40];
             end;
var
   meinedatei : File Of myfile;

begin
    if FileExists('myfile.dat') then
    begin
      AssignFile(meinedatei,'myfile.dat');
 {$I-}
      Reset(meinedatei);
 {$I+}
      if IOResult <> 0 then
         ShowMessage('Problem beim Lesen von myfile.dat! Fehler: ' + IntToStr(IOResult));
      CloseFile(meinedatei);
    end;
end.
Reset bricht ab, IOResult liefert "0" als Funktionsergebnis und zeigt trotzdem die Message "Problem beim Lesen..".
Wenn ich allerdings den gleichen Code mit dem alten Delphi 3 Client/Server Compiler ausführbar mache, dann läuft es problemlos
auf allen Windows Varianten egal ob es ein 32- oder 64-Bit Betriebssystem ist.

Hat jemand eine Idee?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: Fehlermeldung bei AssignFile

  Alt 11. Feb 2011, 00:27
FileExists('myfile.dat') Ähm, wo soll er die Datei finden? Ich gehe mal davon aus, du hast auf deinem Computer mehr als einen Ordner.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Fehlermeldung bei AssignFile

  Alt 11. Feb 2011, 02:07
Das mit dem "ich will keinen Pfad angeben" ist schon grenzwertig ... erklärt aber den Fehler soweit noch nicht.

Welchen Fehler bekommst du denn jetzt bei ShowMessage?
Delphi-Quellcode:
type
  MyRec = record
    name : string[100];
    email : string[40];
  end;
var
  MeineDatei : File Of MyRec;
  tmpIOResult : integer;
begin
  if FileExists( 'myfile.dat' )
  then
    begin
      AssignFile( MeineDatei, 'myfile.dat' );
 {$I-}
      Reset( MeineDatei );
 {$I+}
      tmpIOResult := IOResult;
      if tmpIOResult <> 0
      then
        ShowMessage( 'Problem beim Lesen von myfile.dat! Fehler: ' + IntToStr( tmpIOResult ) );
      CloseFile( MeineDatei );
    end;
end.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

AW: Fehlermeldung bei AssignFile

  Alt 11. Feb 2011, 03:15
Das mit dem "ich will keinen Pfad angeben" ist schon grenzwertig ... erklärt aber den Fehler soweit noch nicht.
Aber trotzdem sollte man mögliche Fehlerquellen eliminieren, um den eigentlichen Fehler zu finden, denn wer weiß, was für Auswirkungen andere Fehler haben.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
MSerror

Registriert seit: 28. Jan 2010
10 Beiträge
 
Delphi 2010 Professional
 
#7

AW: Fehlermeldung bei AssignFile

  Alt 11. Feb 2011, 08:41
Hallo,

die Showmessage liefert folgenden Text "Problem beim Lesen von myfile.dat! Fehler: 0" also "kein Fehler".
Und das ganze nur dann, wenn es ein 64-Bit Windows ist und wenn es in Delphi 2010 kompiliert worden ist.

Ob man es mit der Pfadangabe oder ohne macht spielt in dem Beispiel keine Rolle, das Ergebnis ist gleich.
Es ist ein bitterer Fakt, dass ein uralter Compiler mit neuesten Betriebssystemen besser klarkommt als Delphi 2010.

Vieles in der Unit System.pas in Delphi 3 (von der die Prozedur "Reset" kommt)
wird in Delphi 3 in Assembler geschrieben, das macht die ganze Sache nach so vielen Jahren so zuverlässig - Hut ab.

Wäre für wertvolle Tipps sehr dankbar.
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.487 Beiträge
 
Delphi 12 Athens
 
#8

AW: Fehlermeldung bei AssignFile

  Alt 11. Feb 2011, 09:37
die Showmessage liefert folgenden Text "Problem beim Lesen von myfile.dat! Fehler: 0" also "kein Fehler".
Hast du deinen Code wirklich so geändert wie von Sir Rufo vorgeschlagen?
Delphi-Quellcode:
{...}
   tmpIOResult := IOResult;
      if tmpIOResult <> 0
      then
        ShowMessage( 'Problem beim Lesen von myfile.dat! Fehler: ' + IntToStr( tmpIOResult ) );
{...}
end.
Zitat von Delphi-Hilfe:
System.IOResult Funktion
Durch den Aufruf von IOResult wird das interne Fehler-Flag gelöscht.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz