我在窗體上的按鈕中獲得了以下代碼,但我想獲取已保存對象的OID或ID值,以便可以加載它直接在後面。從InterSystems Cache中通過Delphi中的ActiveX獲取對象的OID或ID
procedure TFormMain.ButtonNewClick(Sender: TObject);
var
Employee: Variant;
OId: Variant;
begin
Employee := Factory.New('Sample.Employee', True);
if VarIsNull(Employee) or VarIsClear(Employee) then
begin
ShowMessage('Could not create Employee!');
Exit;
end;
Employee.Name := 'Foo Bar';
Employee.SSN := '616-27-7814';
Employee.Sys_Save;
OId := Employee.Sys_getOID; <- This doesn't exist
Employee.Sys_Close;
Employee := NULL;
end;
的機制的文檔顯示像GETID功能,但它們需要你的OID通過,但我沒有看到一個功能,只是.OID等不工作,因爲我有感覺所有的教程都顯示了通過OID或ID加載的例子,我錯過了一些非常基本的東西。
任何指針都會非常有幫助。
感謝, 布魯斯
我以爲我曾嘗試Sys_OID,它的工作原理,但OID和Sys_GetOID不工作,這是我以前的嘗試。我希望文檔更好,但非常感謝。 – Bruce 2010-10-29 02:51:21
該文檔實際上比它看起來更好。轉到http://docs.intersystems.com/cache20091/csp/documatic/%25CSP.Documatic.cls並查看%Library包和Persistent對象。我想你只需在Sys_上加上前面提到的成員就可以從Delphi中調用它們。 – 2010-10-29 08:37:05