Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   TOpenDialog mit Fehler o.ist es Application.ProcessMessages? (https://www.delphipraxis.net/89680-topendialog-mit-fehler-o-ist-es-application-processmessages.html)

Brand_Meister 4. Apr 2007 00:35


TOpenDialog mit Fehler o.ist es Application.ProcessMessages?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo alle zusammen,
Schon mal vielen Dank für eure Hilfe.

Ich habe folgendes Problem ich benutze den OpenDialog von Delphi 6 auf meinem System WinPX Home.
Alles klappt beim ersten starten des Quelltextes.
Delphi-Quellcode:
if OpenDialog1.Execute then  filename := OpenDialog1.FileName;
Nur nach dem nächsten öffnen des OpenDialog (bzw. wenn der OpenDialog geöffnet ist) erscheint die Fehlermeldung :
Im Projekt ... trat ein Problem mit folgender Meldung auf: 'Zugriffsverletzung bei 0x7ca6159e: Lesen von Adresse0x019d2958'. Prozeß angehalten ... weiter mit ... F9 und so. (Fehlermeldung im Anhang.)

Diese Fehlermeldung ist mir aber auch schon beim ersten oder erst beim dritten mal aufgetreten.

Zudem hab ich festgestellt wenn ich Application.ProcessMessages Aus dem Quelltext nehme entsteht diese Fehlermeldung nicht !



Ich dachte eigentlich, das ich mich gut mit Delphi verstehen würde aber nach diesen unkontrollierten Fehlermeldungen hab ich wieder keine lust/ frust mit Delphi. :duck:

Gesamter Quelltext

Delphi-Quellcode:
procedure TForm3.MotordatenLaden1Click(Sender: TObject);
VAR
         F: TextFile;
         TextZeile: String;
         Kopfzeile, Trennzeichen_Position, Drehzahl, Drehmoment, Strom : Integer;
         I : Cardinal;
begin
Trennzeichen_Position:= 0;
Kopfzeile := 7 ;

        // einlesen von einer CSV Datei mit OpenDialog
 
        IF form3.OpenDialog1.Execute = true
        Then
        Begin

                AssignFile(F, OpenDialog1.FileName);


                Reset(F);
                For I:=1 To Kopfzeile Do Readln(F);

                While not Eof(F) do
                Begin
                Application.ProcessMessages;

                Readln(F, TextZeile);
                Trennzeichen_Position:= Pos(';', TextZeile) ;
                Drehzahl:= StrToInt( Copy(TextZeile,1,Trennzeichen_Position -1) );
                delete(TextZeile, 1 , Trennzeichen_Position );

                Trennzeichen_Position:= Pos(';', TextZeile) ;
                Drehmoment:= StrToInt( Copy(TextZeile,1,Trennzeichen_Position-1) );
                delete(TextZeile,1 , Trennzeichen_Position );

                Trennzeichen_Position:= Pos(';', TextZeile) ;
                Strom:= StrToInt( Copy(TextZeile,1,Trennzeichen_Position-1) );
                delete(TextZeile,1 , Trennzeichen_Position );


                // Darstellung
                Form3.Series1.Add(Drehzahl);
                Form3.Series2.Add(Drehmoment);
                Form3.Series3.Add(Strom);

                Form3.Series10.AddXY(Drehzahl,Drehmoment)  ; // Drehmoment / Drehzahl


                end;

        CloseFile(F);
        End;


    end;

Klaus01 4. Apr 2007 05:21

Re: TOpenDialog mit Fehler o.ist es Application.ProcessMessa
 
Guten Morgen,

tritt das Problem auch dann auf, wenn Du die Darstellung (Form3.) weglässt?

Grüße
Klaus

Brand_Meister 4. Apr 2007 21:23

Re: TOpenDialog mit Fehler o.ist es Application.ProcessMessa
 
Ich hab es ausprobiert und hab Form3 weckgelassen.
nur kommt die Fehlermeldung immer noch! :(


Zu dem hab ich an anderer Stelle, in einer Schleife, eine änliche Fehlermeldung, aber diese wird anscheinend von Application.ProcessMessage verursacht. Wenn ich diesen Aufruf weg lasse, entsteht keine Fehlermeldung.


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