Danke dafür, Klaus!
Ich hab gerade das Programm wieder korrigiert, und die Compile scheint in Ordnung zu sein, aber ohne Ausgabe in Log.txt kann ich nun leider nicht überprüfen, ob das Ergebnis richtig ist.
Memory freemachen (am Anfang des Programms unter Type "procedure FormDestroy(Sender: TObject);" zugefügt):
Delphi-Quellcode:
procedure TForm1.FormDestroy(Sender: TObject);
var hDreieck:^TDreieck;
i:integer;
begin
for i:= 0 to Dreiecke.Count-1 do
begin
hDreieck:=Dreiecke[i];
Dispose(hDreieck);
end;
Dreiecke.Free;
end;
Die original Ausgabe-Code von dir hab ich auch umgeschrieben:
Delphi-Quellcode:
procedure AddVector(
const v:TVektor);
type TxVector=Array[0..2]
of real;
var s:
string; i:integer;
begin
for i:=0
to High(TxVector)
do s:=s+ToStr(TxVector(v)[i]);
list.Add(s);
end;
var i,j:integer;
begin
list:=TStringList.Create;
try
try
//if Length(Dreiecke)=0 then
if Dreiecke.count=0
then //von mir umgeschrieben
raise Exception.Create('
Dreiecke ist leer.');
//for i:=0 to High(Dreiecke) do //wie ist entsprechende Code für TList???
//with Dreiecke[i] do begin //record,objetc or class type required
AddVector(n);
for j:=Low(p)
to High(p)
do AddVector(p[j]);
list.Add('
');
end;
if tofile
then list.SaveToFile(ExtractFilePath(ParamStr(0))+'
Log.txt');
//else Clipboard.AsText:=List.Text;
ShowMessage('
fertig.');
except
On E:
Exception do ShowMessage(E.
Message);
end;
finally
list.free;
end;
end;