打印本文 打印本文 关闭窗口 关闭窗口
初探Delphi 7 中的插件编程
作者:武汉SEO闵涛  文章来源:敏韬网  点击数4829  更新时间:2009/4/23 18:26:40  文章录入:mintao  责任编辑:mintao
p;                   APlugin.Caption:=      FieldByName(''''modName'''').Value;

                    APlugin.DllFileName := FieldByName(''''modFile'''').Value;

                    APlugin.WndClass :=    FieldByName(''''modWndClass'''').Value ;

                    result:=True;

                end;

                Close;

            end;    //end of with...do...

        end;    //end of try

    except

        on E:Exception do

        begin

            Result:=False;

            myDA.Free ;

            Exit;

        end;    //end of exception

    end;    //end of try...except

    myDA.Free ;   

end;

 

 

//-----------------------------------------

//Name: LoadShowPluginForm

//Func: 载入DLL插件并显示窗口

//Para: APlugin-TMyPlugins

//Rtrn: true-创建成功

//Auth: CST

//Date: 2005-6-2

//-----------------------------------------

function  TFormHall.LoadShowPluginForm (const APlugin:TMyPlugins):boolean;

var

    ShowDLLForm: TShowDLLForm;      //DLL接口函数实例

    FreeDLLForm: TFreeDLLForm;

    sPath:string;                   //DLL文件的完整路径

begin

    try

        begin

            sPath:=ExtractFilepath(Application.ExeName)+ ''''plugins\'''' + APlugin.DllFileName ;

            APlugin.ProcAddr := LoadLibrary(PChar(sPath));

            APlugin.FuncFreeAddr := GetProcAddress(APlugin.ProcAddr,''''FreeDLLForm'''');

            APlugin.FuncAddr := GetProcAddress(APlugin.ProcAddr ,''''ShowDLLForm'''');

 

 

            @ShowDLLForm:=APlugin.FuncAddr ;

            @FreeDLLForm:=APlugin.FuncFreeAddr;

            if ShowDllForm(Self.Handle, APlugin.Caption , APlugin.UserID)  then

                Result:=True

            else

                Result:=False;

 

 

        end;

    except

        on E:Exception do

        begin

            Result:=False;

            ShowMessage(''''载入插件模块错误,请检查PLUGINS目录里的文件是否完整。'''');

        end;

    end;

end;     

……

 

 

上一页  [1] [2] [3] [4] [5] [6] [7]  下一页

打印本文 打印本文 关闭窗口 关闭窗口