![]() |
urgh? Lesen Von Adresse 00000000 error bei... ???
hi
Ich habe keine ahrnung warum ich diesen error habe.... ![]() nach dem error springt der de-bugger ![]() und der code (der macht noch net fiel) error bei: button2click
Delphi-Quellcode:
hab ich wieder was falsch geschrieben??
procedure TForm1.Button1Click(Sender: TObject);
begin openDialog1.Execute; edit3.text:=opendialog1.FileName; end; procedure TForm1.Button2Click(Sender: TObject); var filedata, datacontent : tStringlist; databegin, dataend :integer; begin If openDialog1.Filename = '' then showmessage('no file loaded dumbass') else begin try filedata.Create; try filedata.LoadFromFile(opendialog1.FileName); except on E: Exception do begin showmessage(e.Message); end; end; databegin:=filedata.IndexOf(edit1.Text); dataend:=filedata.IndexOf(edit2.Text); finally FreeAndNil(filedata); FreeAndNil(datacontent); end; end; end; wenn ich den error ignorire, un das programm weiterlaufen lasse, ist die gleich message in der showmessage nachricht.... also muss es an: filedata.LoadFromFile(opendialog1.FileName); liegen ist auch wenn ich dass file zB in ein memo feld lade. |
Re: urgh? Lesen Von Adresse 00000000 error bei... ???
Delphi-Quellcode:
= FALSCH
filedata.Create
Delphi-Quellcode:
= RICHTIG
filedate := TStringList.Create;
und nicht
Delphi-Quellcode:
sondern
var
filedate:TStringList;
Delphi-Quellcode:
var
filedate:TStrings; |
Re: urgh? Lesen Von Adresse 00000000 error bei... ???
Würd das auch nicht so schreiben:
Delphi-Quellcode:
Sonder so:
If openDialog1.Filename = ''
then showmessage('no file loaded dumbass') else begin try filedata.Create; try filedata.LoadFromFile(opendialog1.FileName); except on E: Exception do begin showmessage(e.Message); end; end; databegin:=filedata.IndexOf(edit1.Text); dataend:=filedata.IndexOf(edit2.Text); finally FreeAndNil(filedata); FreeAndNil(datacontent); end; end;
Delphi-Quellcode:
So ist doch übersichtlicher, oder nicht?
If openDialog1.Filename = '' then
begin showmessage('no file loaded dumbass'); end else begin try filedata := TStringList.Create; try filedata.LoadFromFile(opendialog1.FileName); except on e : exception do showmessage(e.Message); end; databegin := filedata.IndexOf(edit1.Text); dataend := filedata.IndexOf(edit2.Text); finally filedate.free; end; end; Ausserdem, wofür brauchst du das "datacontent"?? |
Re: urgh? Lesen Von Adresse 00000000 error bei... ???
hmm.. kein error mehr :thuimb:
aber warum? :gruebel: was ist denn der unterschied von Tstringlist und Tstrings?? |
Re: urgh? Lesen Von Adresse 00000000 error bei... ???
Dein Fehler war das erstellen des Objektes:
wenn du ne StringList machen willst dann so
Delphi-Quellcode:
var
Liste:TStrings; begin Liste := TStringList.Create; try // Code finally Liste.free; end; end; |
Re: urgh? Lesen Von Adresse 00000000 error bei... ???
Irgendwie hats du die try-finally, try except Blöcke komisch geschachtelt.
Delphi-Quellcode:
Wobei ich auf den Except Block verzichten würde und mit FileExist prüfen würde, ob die Datei vorhanden ist. Nutz man allerdings einen Opendialog ist das überflüssig, weil man ihn so einstellen kann, dass er nur existierende Dateien akzeptiert.
sl := TStringlist.Create;
try sl. ...; try sl.LoadfromFile(...); except ...; end; finally sl.Free; end; |
Re: urgh? Lesen Von Adresse 00000000 error bei... ???
Zitat:
|
Re: urgh? Lesen Von Adresse 00000000 error bei... ???
Entweder so:
Delphi-Quellcode:
oder
If FileExists(opendialog1.filename) then
memo1.lines.loadfromfile(opendialog1.filename);
Delphi-Quellcode:
Beim ersten wird das nur gemacht wenn die datei vorhanden ist
if opendialog1.execute then
memo1.lines.loadfromfile(opendialog1.filename); und beim zweiten wird das nur gemacht wenn im opendialog auf "Öffnen" geklickt wird. Und das geht nur wenn die datei vorhanden ist |
Re: urgh? Lesen Von Adresse 00000000 error bei... ???
Bei TStrings handelt es sich lediglich um eine Klasse, die zwar Methoden angemeldet hat aber diese nicht selber implementiert -> abstrakte Basisklasse. (siehe Online-Hilfe)
TStringList ist ein Abkömmling von TStrings und implementiert die Methoden und Eigenschaften. Gruß Minz |
Re: urgh? Lesen Von Adresse 00000000 error bei... ???
Cool..So genau wusst ich das auch noch nicht
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:20 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-2025 by Thomas Breitkreuz