Application.Handle:=AHandle;把这句去掉试试!
解决方案 »
- delphi中多窗体的切换
- 为什么try...except...end无法捕获异常
- 用delphi开发的activeform,在web页面中通过链接打开两个含activeform的页面,两者var变量有冲突
- 如何调用祖父类的方法?
- delphi 中的datetimepicker 如何同时显示日期时间,并可修改。急。。。。。
- 怎样往别的程序上放按钮?
- 我用DELPHI做一个MDI窗体,为何子窗体的大小总是不能由程序控制呢
- aspobject 采用object context 时,如何初始化系统参数,以及释放呢?
- 小数点怎样处理?
- 为何说“在映象文件里找不到相应的资源”
- delphi的ado组件支持分页吗?
- 两个问题?
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, DB, ADODB;type
TfrmUsrAdd = class(TForm)
.
.
.
procedure showFrmUsrAdd(AHandle:THandle) ;stdcall;implementationprocedure showFrmUsrAdd(AHandle:THandle);stdcall;
begin
Application.Handle:=AHandle;
with frmuserass do
try
frmuseradd:=Tfrmuseradd.create(application);
ShowModal;
finally
free;
end;
end;
.
.
.
libraryexports
showFrmUsrAdd;就可以了,给分!!!!
我的一个程序:function ShowCalculator(mainApp:TApplication;calcForm:TForm;var calcValue:real):boolean;stdcall;
begin
if calcForm=Nil then
calcForm:=TfrmCalculator.Create(mainApp);
calcForm.ShowModal;
calcValue:=calcResult;
calcForm:=Nil;
Result:=calcTransMode;
end;
exports ShowCalculator;
function ShowCalculator(application:TApplication;calcForm:TForm;var calcTransValue:real):boolean;stdcall;external 'CalculatorDll.Dll'; if ShowCalculator(application,calcForm,calcTransValue) then
Face.DisplayFocus^.Text :=FloattoStr(calcTransValue);
你给的那段程序和我的错误一样:提示‘无效的窗口句柄’delphimo:
把Application.Handle:=AHandle;把这句去掉
是可以,但是新开的窗口在会出现在任务栏上,
我想是需要传递application的句柄给dll 的,但不知道为什么这个句柄总算传不过来。谢谢各位,谁能给个例程?
稍后把传递句柄的问题解决后,就给分。谢谢~!
我的信箱:[email protected]
谢谢~!!
原来出错是因为可执行程序中是静态调用的dll,导致无法传递application.handle给dll
后来改成动态调用就好了。
3x各位。
就可以了