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?