activex控件问题 |
尚未結案
|
dora729
一般會員 發表:4 回覆:0 積分:0 註冊:2005-09-05 發送簡訊給我 |
最近遇到两个问题,小弟初学delphi,实在搞不定,请各位前辈赐教; (1)小弟最近下了一个active x控件,是显示原子结构的,在delphi 7里面安装后,拖了一个到我窗口里面用,叫做MyViewerControl,但是有个问题:我设置这个控件的属性时,没有问题,比如下面这个:
procedure TPDBViewForm.sbSelectClick(Sender: TObject);
begin
MyViewerControl.Mouse:=1;
end; 但是我使用这个控件的函数时,会出现"Acess violation at address 00000000,Read of address 00000000"的错误,比如下面这个函数:
procedure TPDBViewForm.sbStyleLineClick(Sender: TObject);
var
AtomDisplayStyle:widestring;
begin
AtomDisplayStyle:='Line';
MyViewerControl.SetAtomDisplayStyle(AtomDisplayStyle);
end; 看了一下,发现是在下面这个函数这里发生问题的
procedure TViewerControl40.CreateControl; procedure DoCreate;
begin
FIntf := IUnknown(OleObject) as IViewerControl40;
end; begin
if FIntf = nil then DoCreate;
end; function TViewerControl40.GetControlInterface: IViewerControl40;
begin
CreateControl;
Result := FIntf;
end; 是不是因为我没有create这个控件就使用它?(我是直接拖到窗口里面用的,就像lable,Image一样)如何create?它的create函数是这样的:
TViewerControl40.Create(AOwner:Tcomponent) ,这个控件用VC 写了一个demo,在demo里SetAtomDisplayStyle这个函数是可以用的 (2)新建了一个WaitForm窗口,里面有一个Lable,写了一些提示信息,还有一个Animate,放了个动画,然后在MainForm里面调用WaitForm.show调出WaitForm,但是WaitForm只显示Animate的内容,而不显示Lable的内容,不知为什么?调出WaitForm后,MainForm调用执行了一个dos程序
WaitForm.Show;//调用WaitForm
ExecAppWait('1.exe',strCommand);//调用1.exe程序,参数为strCommand;
WaitForm.Close;//关闭WaitForm 初学delphi,请各位大大帮忙
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |