Einzelnen Beitrag anzeigen

arkon

Registriert seit: 15. Jul 2007
Ort: Berlin
7 Beiträge
 
#3

Re: lustiges problem mit dem compiler (?)

  Alt 13. Jun 2009, 14:16
oh, sorry...
Delphi-Quellcode:
  TChVoc = class
    public
...
      cgright: integer;
      cgwrong: integer;
      gcright: integer;
      gcwrong: integer;
      pgright: integer;
      pgwrong: integer;
...
      function coeff: extended;
  end;

function TChVoc.coeff: extended;
begin
// Form1.Memo2.Lines.Add(pinyin);//+'|'+FloatToStr(result));
  case learningmode of
    cltPG: result := (pgwrong+1)/(pgwrong+pgright+1);
    cltGC: result := (gcwrong+1)/(gcwrong+gcright+1);
    cltCG: result := (cgwrong+1)/(cgwrong+cgright+1);
  else
    result := 0;
  end;
end;
also ein objekt. wenn ich die zeile in der coeff-fkt ausklammere, dann läuft er aus dem speicher raus. ergo wurde das objekt nicht initialisiert. das ganze ist in einer TLIst gespeichert und wird sortiert, daher kann ich nicht genau sagen wie das sortieren abläuft. aber das wird schon richtig sein . jedenfalls: direkt VOR dem sortieren kann ich noch fehlerfrei auf jeden eintrag der Liste zugreifen. trotzdem kommt er eine zeile später im nirvana an!?!?! vor allem aber: warum ist das verhalten bei den unterschiedlichen aufrufen so unterschiedlich? was spuckt der compiler hinten aus?
antwort: der compiler spuckt ganz zivilen assembler aus. im kritischen durchlauf ist jedoch item1 ein null-pointer. wadup?
  Mit Zitat antworten Zitat