二个DLL都是有窗体的,谢谢解答!!!!!!!!
解决方案 »
- delphi7中自带Tools|Image Editor如何制作位图
- Delphi 的年终奖 散分
- 如何控制单个richtext的滚动条使得两个richtext同步上下滚动
- 谈谈大家用DELPHI来做什么,挖掘了DELPHI的多少功能!首先介绍一下我自己。
- 关闭窗体问题?????
- web service string型被C#调用问题,高手救命
- 关于用来画流程图的控件?各位大侠帮忙?
- 菜鸟的小问题,不过问题可不菜呀!!关于远程数据库连接oracle的
- 求数字识别的源代码,回复之前麻烦先测试一下
- 请教如何使用SELECT 语句在*.DB的表中显示行号:例如select rowid,field1,fiels2...
- 明天面试,希望能顺利!~
- 哪儿能下载李维的书?
procedure LoadForm ;
var
GetPasswordForm: TGetPasswordForm;
begin
GetPasswordForm := TGetPasswordForm.Create(Application);
GetPasswordForm.ShowModal;
end;//设置密码
procedure TGetPasswordForm.SetBtnClick(Sender: TObject);
begin
ghandle := LoadLibrary('UserFrm.dll');
myfunc := GetProcAddress(ghandle, 'GetForm'); if TGetForm(myfunc)(gUserName, gPassword) = False then
MessageDlg('设置密码失败', mtInformation, [mbok], 0);
freelibrary(ghandle);
end;
你可以动态(LoadLibrary)也可以静态调用。
type TTimeRec = record
Second: Integer;
Minute: Integer;
Hour: Integer;
end; TGetTime = procedure(var Time: TTimeRec); THandle = Integer;var Time: TTimeRec;
Handle: THandle;
GetTime: TGetTime;
...
begin
Handle := LoadLibrary('DATETIME.DLL');
if Handle <> 0 then
begin
@GetTime := GetProcAddress(Handle, 'GetTime');
if @GetTime <> nil then
begin
GetTime(Time);
with Time do
WriteLn('The time is ', Hour, ':', Minute, ':', Second);
end;
FreeLibrary(Handle);
end;end;
var
AaaForm : TAaaForm;
begin
Application.Handle := AHandle;
AaaForm := TAaaForm.Create(Application);
try
AaaForm.Caption := ACaption;
AaaForm.ShowModal;
Result := False;
finally
AaaForm.Free;
end;
End;Var
LibHandle: THandle;
ShowAbc: TShowAbc;
begin
LibHandle := LoadLibrary('Cde.dll');
try
if LibHandle = 0 then
@ShowAbc := GetProcAddress(LibHandle, 'ShowAbc');
if not (@ShowAbc = nil) then
ShowAbc(Application.Handle, '测试')
else
RaiseLastWin32Error;
finally
FreeLibrary(LibHandle);
end;
//以上代码在Application中编译是正确的,但在DLL中会报好多的错误:(