AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi urgh? Lesen Von Adresse 00000000 error bei... ???
Thema durchsuchen
Ansicht
Themen-Optionen

urgh? Lesen Von Adresse 00000000 error bei... ???

Ein Thema von Skyruner2 · begonnen am 7. Nov 2003 · letzter Beitrag vom 7. Nov 2003
Antwort Antwort
Seite 1 von 2  1 2      
Skyruner2

Registriert seit: 26. Okt 2003
93 Beiträge
 
Delphi 7 Professional
 
#1

urgh? Lesen Von Adresse 00000000 error bei... ???

  Alt 7. Nov 2003, 13:29
hi
Ich habe keine ahrnung warum ich diesen error habe....
Hier ist das exception fenster
nach dem error springt der de-bugger Hier hin

und der code (der macht noch net fiel)
error bei: button2click
Delphi-Quellcode:
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;
hab ich wieder was falsch geschrieben??
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.
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#2

Re: urgh? Lesen Von Adresse 00000000 error bei... ???

  Alt 7. Nov 2003, 13:34
filedata.Create = FALSCH
filedate := TStringList.Create; = RICHTIG

und nicht

Delphi-Quellcode:
var
  filedate:TStringList;
sondern

Delphi-Quellcode:
var
  filedate:TStrings;
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#3

Re: urgh? Lesen Von Adresse 00000000 error bei... ???

  Alt 7. Nov 2003, 13:36
Würd das auch nicht so schreiben:

Delphi-Quellcode:
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;
Sonder so:

Delphi-Quellcode:
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;
So ist doch übersichtlicher, oder nicht?

Ausserdem, wofür brauchst du das "datacontent"??
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Skyruner2

Registriert seit: 26. Okt 2003
93 Beiträge
 
Delphi 7 Professional
 
#4

Re: urgh? Lesen Von Adresse 00000000 error bei... ???

  Alt 7. Nov 2003, 13:38
hmm.. kein error mehr

aber warum?

was ist denn der unterschied von Tstringlist und Tstrings??
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#5

Re: urgh? Lesen Von Adresse 00000000 error bei... ???

  Alt 7. Nov 2003, 13:40
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;
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: urgh? Lesen Von Adresse 00000000 error bei... ???

  Alt 7. Nov 2003, 13:41
Irgendwie hats du die try-finally, try except Blöcke komisch geschachtelt.
Delphi-Quellcode:
sl := TStringlist.Create;
try
  sl. ...;
  try
    sl.LoadfromFile(...);
  except
    ...;
  end;
finally
  sl.Free;
end;
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Skyruner2

Registriert seit: 26. Okt 2003
93 Beiträge
 
Delphi 7 Professional
 
#7

Re: urgh? Lesen Von Adresse 00000000 error bei... ???

  Alt 7. Nov 2003, 13:43
Zitat von Luckie:
Irgendwie hats du die try-finally, try except Blöcke komisch geschachtelt.
Delphi-Quellcode:
sl := TStringlist.Create;
try
  sl. ...;
  try
    sl.LoadfromFile(...);
  except
    ...;
  end;
finally
  sl.Free;
end;
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.
war auch nur für de-bugging gedacht
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#8

Re: urgh? Lesen Von Adresse 00000000 error bei... ???

  Alt 7. Nov 2003, 13:43
Entweder so:

Delphi-Quellcode:
If FileExists(opendialog1.filename) then
  memo1.lines.loadfromfile(opendialog1.filename);
oder

Delphi-Quellcode:
if opendialog1.execute then
  memo1.lines.loadfromfile(opendialog1.filename);
Beim ersten wird das nur gemacht wenn die datei vorhanden ist
und beim zweiten wird das nur gemacht wenn im opendialog auf "Öffnen" geklickt wird. Und das geht nur wenn die datei vorhanden ist
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#9

Re: urgh? Lesen Von Adresse 00000000 error bei... ???

  Alt 7. Nov 2003, 13:46
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
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#10

Re: urgh? Lesen Von Adresse 00000000 error bei... ???

  Alt 7. Nov 2003, 13:47
Cool..So genau wusst ich das auch noch nicht
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 06:56 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