Einzelnen Beitrag anzeigen

Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.701 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Fastscript Funktion mit Objekt Instanz Parameter

  Alt 4. Jun 2025, 11:14
Delphi-Version: 5
Ich würde gerne folgende Funktion in FastScript realisieren:

Delphi-Quellcode:
// Funktion im Script:
function CheckInstance(Inst: TSomeObject): Boolean;
begin
  Result := (Inst.GetValue = 0);
end;
Diese Funktion soll aus meinem Delphi-Programm aufgerufen werden und deshalb wird die TSomeObject-Klasse dort wie folgt definiert:
Delphi-Quellcode:
  cl := FScript.AddClass(TSomeObject, 'TObject');
  cl.AddMethod('function GetValue: integer', MethodSomeObjectGetValue);
Und wie folgt aufgerufen:
Delphi-Quellcode:
  FCurrentObj := TStringList.Create;
  res := FScript.CallFunction('CheckInstance', Integer(FCurrentObj));
Ich erwarte jetzt eigentlich, dass beim Auruf von MethodSomeObjectGetValue der Instance-Parameter den Wert FCurrentObj enthält, er ist aber NIL:
Delphi-Quellcode:
function TMyStript.MethodSomeObjectGetValue(_Instance: TObject; _ClassType: TClass;
  const _MethodName: string; _Caller: TfsMethodHelper): Variant;
begin
  // function GetValue: integer
  Assert(Integer(_Instance) = Integer(FCurrentObj), 'ungueltiger Instance-Wert');
  // .... weiterer Code
end;
Irgendwas mache ich falsch, vermutlich bei der Parameterübergabe. Aber was?
Thomas Mueller
  Mit Zitat antworten Zitat