Moin,
Ich konnte mein Problem weiter eingrenzen:
Wenn ich eine Funktion zur Übergabe von Attributwerten wie folgt deklariere:
Delphi-Quellcode:
function Fahrstuhlkabine.test():integer;
begin
result:=testvar;
//<----Exception hier!
end;
...
function Steuerung.Test():cardinal;
begin
result:=pFstKa^.FstKaX^.test();
end;
...
//Aufruf Main-Unit:
test:= Steuerung1.Test();
showmessage(inttostr(test));
So ensteht nach wie vor die Zugriffs-
Exception ganz egal ob ich
testvar
als private, public oder property deklariere. Wenn ich mir allerdings einen festen Wert zurückgeben lasse, ist alles super:
Delphi-Quellcode:
function Fahrstuhlkabine.test():integer;
begin
result:=1001
//<----keine Exception!
end;
...
function Steuerung.Test():cardinal;
begin
result:=pFstKa^.FstKaX^.test();
end;
...
//Aufruf Main-Unit:
test:= Steuerung1.Test();
showmessage(inttostr(test));
Die Vermutung liegt nahe, dass irgendwas mit der Attribut-Deklaration faul ist,....aber was?^^
Für das bessere Verständnis hier die Deklaration meiner Klasse
Fahrstuhlkabine
:
Delphi-Quellcode:
FahrstuhlKabine = class
F_id: cardinal;
fahrtrichtung: bool; // 1 = hoch // 0 = runter
in_Benutzung: bool;
Fahrtzeit: real;
gewaehlteEtagen: pgewEt;
speed: real;
EtageV, EtageB, zulGewicht: integer;
niAnEt: pNiAnEt;
private
F_position, F_tatsGewicht: real;
public
testvar:integer;
property id: cardinal read F_id write F_id;
property position:real read F_position write F_position;
property tatsGewicht:real read F_tatsGewicht write F_tatsGewicht;
constructor init(id_in:cardinal; zulGewicht_in, EtageV_in, EtageB_in: integer; sNiAnEt: string);
destructor destruct();
function zielAnfahren(Ziel:integer):bool;
procedure set_Zieletage();
procedure Notruf();
function lastprobe():bool;
function geschwindigkeitsmessung():bool;
procedure notfallbremsen();
function test():integer;
end;
Hat jemand eine Idee woran es liegen könnte?