Delphi开发的dll中创建了一个窗体,在另一个delphi程序中调用,创建窗口没有问题,但是在主程序退出时, dll中创建的窗体没有办法退出,造成了主进程窗口关闭,但是进程没有退出,怎么解决这个问题呢?
代码:
procedure TestDll(i:integer; App: TApplication);stdcall;
begin
if TestForm=nil then
begin
TestForm := TTestForm.Create(app);
if not TestForm.Visible then
TestForm.Show;
end;
end;
Delphi开发的dll中创建了一个窗体退出在进程退出时碰到的问题?
可能回传一个窗体就行,我用这样的方法做了一个试验,一切正常。DLL代码如下:library dll_Form;uses Windows,Forms;{$R *.res} var TestForm:TForm;Function LoadForm:TForm; export; stdcall;begin if TestForm=nil then TestForm := TForm.Create(nil);TestForm.Show;Result:=TestForm;end;exp...
DELPHI窗体关闭问题
动态生成这个窗体,或者用dll来生成登录窗体。用free肯定会出现这样的问题,因为你的窗体不是动态生成的。
程序退出的时候报runtime error 217 at.什么原因?
缺少必要的动态链接库(DLL):如果您的程序需要某个DLL,并且该DLL没有在计算机上安装,则可能会出现此错误。内存问题:如果程序向内存写入数据,但内存已满,则可能会出现此错误。过时的程序:如果您的程序是在旧版本的操作系统上开发的,而现在正在使用新版本的操作系统,则可能会出现此错误。软件病毒:...
delphi dll中的窗体
如果你的dll或exe中未对主窗体的状态作设置,并不会存在你所描述的问题,请你检查一下代码,是否在关闭窗体之后对窗体状态作出了重设。
delphi 创建了dll文件会导致内存出错?
真没见过创建dll会导致内存出错的情况,一般是调用dll中某函数出这种错,其中最常见的是忽略了stdcall表示的参数入栈顺序,由于delphi和C刚好相反,两者互相调用对方创建的dll时,需要认真审视入站顺序这一说
如何在DELPHI程序,退出前释放所有活动中的动态库?
动态调用 Dll 文件,如LoadLibrary、LoadLibraryEx,需要手动释放;静态调用 Dll 文件:如直接使用在 Windows.pas 单元声明的 API,无需手动释放
关于delphi中动态调用dll时出现的问题
));end else showmessage('找不到函数');finally FreeLibrary(hd_csqm);end;这样子试试 应该是参数的问题,你可以试试调一个没有参数的函数,或者参数采用默认值形式的函数;如果是参数的问题的话,可能要把String 改成pchar 还有一个问题就是 你的DLL里面 uses 第一个是不是 ShareMem ...
请帮忙解答一下,在delphi下编写dll文件遇到的错误
那并不是vb生成html,而是html中调用vbs(vb的一个小分支)实现网页脚本。将以下代码保存为.html文件,运行即可。<HTML> <HEAD> <TITLE>测试按钮事件<\/TITLE> <\/HEAD> <BODY> <FORM NAME="Form1"> <INPUT TYPE="Button" NAME="Button1" VALUE="单击"> <SCRIPT FOR="Button1" EVENT="on...
Delphi dll中变量是内存空间独立的吗
DLL 函数中的代码所创建的任何对象(包括变量)都归调用它的线程或进程所有。调用方式:1、静态调用方式:由编译系统完成对 DLL 的加载和应用程序结束时 DLL 卸载的编码(如还有其它程序使用该 DLL,则 Windows 对 DLL 的应用记录减1,直到所有相关程序都结束对该 DLL 的使用时才释放它,简单实用,但...
在C#中调用Delphi的动态库系统直接退出了,由于对Delphi完全不了所以...
C#你告诉编译器用stdcall约定 但是D里你用的是默认的register,不是stdcall的 D里改成 function _zdw_write(wd :zdw_down; var con_buf:ARR):Integer; stdcall