現在
TADOConnectionを利用してデータベースに接続させます。
そして
この接続を複数のアプリケーションで共有したいと考えています。
つまり
あるアプリから他アプリを介してデータベースにアクセスしたいのです。
いろいろ探したのですが方向性すら見つかりませんでした。
もしそうした方法が可能であれば教えてください、宜しくお願いします。
TADOConnectionでなくても良いです。
http://hpcgi2.nifty.com/Mr_XRAY/DelphiBBS/cyclamen.cgi?tree=s260#286
えーとさんありがとうございました。
無事に解決しました。
他のコンポーネントでも試したのですが
dbExpressの場合TSQLConnectionを使用するのだと思うのですが
ADOConnection1.ConnectionObject := conn as _Connection;
の部分の変更方法がわかりませんでした。
引き続き、教えてください、宜しくお願いします。
ソースはこんな感じです。
//////////DLLの内容//////////////////////////////////////////
DBConnectA.dpr(dll)
(省略)
var
dm: TDataModule1;
procedure GetConnection(out Connection:IUnknown);
begin
if dm = nil then
dm := TDataModule1.Create(nil);
if not dm.SQLConnection1.Connected then
dm.SQLConnection1.Open;
dm.SQLConnection1.ComObject.QueryInterface(IUnknown, Connection);
end;
////////////////////////////////////////////////////////////
///////////EXEの内容///////////////////////////////////////
unit1.pas
(省略)
procedure GetConnection(out Connection: IUnknown); external 'DBConnectA.dll' name 'GetConnection';
procedure TForm1.Button1Click(Sender: TObject);
var
conn: IUnknown;
begin
GetConnection(conn);
if conn = nil then Exit;
{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}
{ここでSelf.SQLConnection1にconnの情報を渡したいのです。}
{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}
SQLClientDataset1.Open;
end;
///////////////////////////////////////////////////////////
ツイート | ![]() |