В моем (2010) коде Delphi У меня есть класс TImageItem, который я подверженный DWScript через:DWScript: отображение и возврат объекта к скрипту из функции Delphi?
dwsUnit.ExposeRTTI(TypeInfo(TImageItem),[eoNoFreeOnCleanup, eoExposePublic]);
В dwsUnit я объявил функцию, чтобы получить TImageItem со стороны Delphi:
function GetImage: TImageItem;
и на стороне Delphi:
procedure TFScript.dwsUnitFunctionsGetImageEval(info: TProgramInfo);
begin
...
// (Item is a TImageItem and not nil)
Info.ResultAsVariant := TdwsRTTIVariant.FromObject(Item);
end;
Однако, когда я бегу сценарий запуска, как:
var Item: TImageItem;
Item := GetImage;
...
Я получаю EScriptError во время вызова GetImage с сообщением «Объект уже уничтожен».
Что я делаю неправильно? Я подвергал объект или возвращал его неправильно?
Это прекрасно работает, спасибо! – hukka