熊出没之老鳄那个:Delphi高手帮忙
来源:百度文库 编辑:高校问答 时间:2024/10/06 09:49:14
例如:我们设计“Font”属性时,可以使用“TFontDialog”控件 调用“Font”对话框来设计!
但是,我现在想使用“TADOConnection”控件 来动态的连接数据库,在程序运行中调用“ConnecionString”对话框,就像设计过程中一样,单击“TADOConnection”属性中的“ConnecionString”右边的“...”弹出的对话框来连接数据库?
请Delphi 高手赐教,谢谢!!
麻烦说详细点,我不知道该怎么用这个函数!!
谢谢
uses
OleDb,ComObj,ActiveX;
function PromptDataSource(ParentHandle: THandle; InitialString: WideString): WideString;
var
DataInit: IDataInitialize;
DBPrompt: IDBPromptInitialize;
DataSource: IUnknown;
InitStr: PWideChar;
begin
Result := InitialString;
DataInit := CreateComObject(CLSID_DataLinks) as IDataInitialize;
if InitialString <> '' then
DataInit.GetDataSource(nil, CLSCTX_INPROC_SERVER,
PWideChar(InitialString), IUnknown, DataSource);
DBPrompt := CreateComObject(CLSID_DataLinks) as IDBPromptInitialize;
if Succeeded(DBPrompt.PromptDataSource(nil, ParentHandle,
DBPROMPTOPTIONS_PROPERTYSHEET, 0, nil, nil, IUnknown, DataSource)) then
begin
InitStr := nil;
DataInit.GetInitializationString(DataSource, True, InitStr);
Result := InitStr;
end;
end;