堵漏王能做房顶防水吗:Delphi高手帮忙

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 11:12:21
怎样在程序运行中将Delphi自带的属性对话框调出来?
例如:我们设计“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;