功能很简单:就是主程序调用这个dll里的函数,出现一密码框,在上面输入密码后(输入时密码要用*代替),按确定将密码值传给主程序。
哪位好心人帮忙贴一下代码,最好不要有其它的功能的代码,这样我比较容易看懂。

解决方案 »

  1.   

    //文件名为CheckPasswordForm.dpr;
    编译此文件生成CheckPasswordForm.dlllibrary CheckPasswordForm;uses
    XcqCheck in 'XcqCheck.pas' {XcqForm};exports
    CheckPassword name 'CheckPassword';//dll入口beginend.
    //文件名为XcqCheck.pas
    unit XcqCheck;interfaceuses
    Windows, Messages, SysUtils, Classes,
    Graphics, Controls, Forms, Dialogs,
    StdCtrls, Mask, Menus;type
    TXcqForm = class(TForm)
    XcqEdit: TMaskEdit;//密码输入框
    OkBtn: TButton;
    procedure OkBtnClick(Sender: TObject);
    end;var
    XcqForm: TXcqForm;
    Check: Boolean;//验证输入密码的正确性
    function CheckPassword: Boolean;export;
    //本dll文件的关键实现implementation{$R *.DFM}procedure TXcqForm.OkBtnClick(Sender: TObject);
    begin
      if XcqEdit.Text = 'xcq' then
      Check := True;
      Close;
    end;function CheckPassword;export;
    begin
      Check := False;
      XcqForm := TXcqForm.Create(Application);
      //创建密码输入框
      XcqForm.ShowModal;//显示密码输入框;
      注意:不能用XcqForm.Show!
      Result := Check;//返回给调用本dll的应用程序判断
      XcqForm.Free;//释放本dll文件所占资源
    end;end.---- 在调用以上dll中CheckPassword函数的应用程序中只需加入以下语句在implementation 后,function CheckPassword: Boolean; external 'CheckPasswordForm.dll' name 'CheckPassword';在需要进行密码验证的地方加入下面的条件语句就完全实现了密码验证的功能。 if CheckPassword then
    begin
    ...//如XcqQuery.Open;
    end;