2013-05-17 25 views
0

連接我使用ODAC v8.2.8或也許9.用Delphi 5.什麼是用於分配在DLL

我具有可以推出一些作爲DLL的實現應用程序的應用的首選方法。爲了共享啓動器的數據庫連接,使用了AssignConnect()方法。

我已經注意到了Devart演示的一個執行只是通過簡單的分配

var 
    ExternalSession: TOraSession; 

procedure AssignSession(Session: TOraSession); cdecl; 
begin 
    ExternalSession := Session; 
end; 

這是Devart推薦的方法使用相同的任務?

+0

如果您在主APP和DLL之間共享對象(或其他託管類型),則將ShareMem(或更新的Delphi版本中的SimpleShareMem)作爲.dpr和.dll文件中的第一個單元。這是因爲應用程序和DLL都有自己的內存管理器。 –

+0

@Devart我希望你能評論這個 –

回答

1

你不能在dll中使用外部OraSession。爲了正確工作,您應該調用發送外部OraSession作爲參數的OraSession的AssignConnect方法(用於Dll)。該方法用於ShowForm方法中的演示項目。如果只使用一個會話,則可以立即爲內部OraSession調用AssignConnect方法。我們已經包含一個額外的變量ExternalSession用於在dll中的不同形式聲明的幾個OraSession。