dll里的窗体,ShowModal为什么出错呀?

voxforce 2003-02-03 04:06:30
不知道为什么
...全文
82 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sprewellkobe 2003-08-26
  • 打赏
  • 举报
回复
呵呵,你错误在哪

把代码帖出来呀
ljianq 2003-08-26
  • 打赏
  • 举报
回复
《C++ Builder 应用开发大全》上面关于MDI中使用Dll的例子,完全编译后,有问题。
Behard 2003-08-26
  • 打赏
  • 举报
回复
ffww(疯子) 的程序很熟呀?

看了看;原来是《C++ Builder 应用开发大全》(for BCB3.0)上面的例程
也不能说是垃圾呀
^_^ 很经典的 BCB 书籍呀
Robin 2003-08-26
  • 打赏
  • 举报
回复
我以前也写这种垃圾!你 可以看1
http://expert.csdn.net/Expert/topic/2157/2157261.xml?temp=7.764834E-02
Robin 2003-08-26
  • 打赏
  • 举报
回复
垃圾!程序!
hongliqiu 2003-06-26
  • 打赏
  • 举报
回复
在 ffww(疯子)的程序中需要添加的。
因为他用到了
__declspec(dllimport) class __stdcall MyDllClass
{
public:
MyDllClass();
void CreateAForm();
TDllFrm* DllMyForm; //这个声明
};
lanren_me 2003-02-08
  • 打赏
  • 举报
回复
再说了,加入是vb OR delphi 的dll,那还有.h文件???
lanren_me 2003-02-08
  • 打赏
  • 举报
回复
以下可有可无,我用过很多窗体dll,都不用添加.

#include "DllForm.h" //因为有窗体,所以要加这句,如果没有就不必了。
ffww 2003-02-03
  • 打赏
  • 举报
回复
//*********************************************
* 用 途:动态链接库的创建和使用 *
* 单 位:枫馨电脑工作室 *
* 时 间:2003-01-11 *
* 整 理:疯子 *
* 附 注:CB6下测试OK,采用静态链接方式 *
**********************************************//

一、在DLL中使用窗体。
1、FILE | NEW | OTHER | DLL Wizard,确认后产生以下代码:并将其保存为DLL.cpp
2、NEW | FORM新建一个窗体,在其上随便加几个控件。窗体名为DllFrm,并将其保存为DllForm.cpp.
3、NEW | TEXT,将其保存为DLL.h文件。编写代码如下:
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#ifndef DllH
#define DllH

#include "DllForm.h"

class __declspec(dllexport) __stdcall MyDllClass
{
public:
MyDllClass();
void CreateAForm();
TDllFrm* DllMyForm;
};
extern "C" __declspec(dllexport)__stdcall void CreateFromFunct(); //全局函数

#endif
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

4、对应DLL.cpp文件代码应编写如下:

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include <vcl.h> //选择了使用VCL控件,否则可以删除该句。
#include <windows.h>
#include "Dll.h" //加上这几句
#include "DllForm.h"
USERES("Dll.res");
USEFORM("DllForm.cpp",DllFrm);

#pragma hdrstop
//---------------------------------------------------------------------------
// 系统自动产生的注释
//---------------------------------------------------------------------------
#pragma argsused
//动态链接库的入口函数,类似于main函数
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
return 1;
}
//---------------------------------------------------------------------------
MyDllClass::MyDllClass()
{
//构造函数在这里
}
//---------------------------------------------------------------------------
void MyDllClass::CreateAForm()
{
DllMyForm=new TDllFrm(Application);
DllMyForm->Show();
}
//---------------------------------------------------------------------------
void MyDllClass::CreateAForm()
{
DllMyForm=new TDllFrm(Application);
DllMyForm->Show();
}
//---------------------------------------------------------------------------
void __stdcall CreateFormFunct() //注意这个全局函数的声明
{
TDllFrm* DllMyForm2=new TDllFrm(Application);
DllMyForm2->Show();
}
//---------------------------------------------------------------------------
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

5、编译后系统自动生成mydll.dll文件,请在控制始模式下键入命令implib DLL.lib DLL.dll,生成DLL.lib文件。
6、新建一Application,在窗体上放置一Button按钮。然后在project | ADD project将DLL.LIB文件导入.并在其头文件中加入:
#include "DllForm.h" //因为有窗体,所以要加这句,如果没有就不必了。
__declspec(dllimport) class __stdcall MyDllClass
{
public:
MyDllClass();
void CreateAForm();
TDllFrm* DllMyForm;
};
extern "C" __declspec(dllimport)__stdcall void CreateFromFunct(); //注意这里变成了dllimport

7、在Button的点击事件中加入:
MyDllClass *DllClass=new MyDllClass();
DllClass->CreateAForm();
或者可以用这句代码: CreateFromFunct();效果都是一样的。
8、当然,在窗口关闭FormClose事件中不要忘了删除动态创建的指针:delete DllClass;

举一反三吧!!
zliang2000 2003-02-03
  • 打赏
  • 举报
回复
may be it will be ShowModel!!!
这个文档中的话题与解决方案, 几乎全部来自 UniGUI 的交流群, 群中活跃的 BDS2007、 cmj 等人,给了众多使用 UniGUI 的人很多帮助。 这个文档, 主要是学习与方便后来之人, 文档积累的起因是严肃而正式的, 因为每个人 都有学习的需求;但文档的所谓版权、著述, 我希望它是有公益色彩的东西,如有哪位不希 望解决方案不出现在这,请您告知。 此外, 就是期待大家都能把自己的一些经验, 给指导和帮助后来人的东西, 在不影响您 正常工作与其他事情的前提下,奉献出来。至于正确与错误、高超或低下,无关大体。 目 录 1. 事件中的代码在服务器端和客户端,哪一端执行? ........................................................... 3 2. 为什么 UniGUI 控件在 IE中显示的字体会变小、模糊? .................................................... 3 3. 在浏览器端不能使用 ShowMessage() .................................................................................... 5 4. 修改工程文件,使 exe 程序编译成 dll .................................................................................. 6 5. UniGUI 开发的 dll 如何发布 .................................................................................................... 7 6. uniGUI0.94 以 EXE形式发布程序的布署方法 ..................................................................... 13 7. uniGUI 执行程序部署有 3 种形式 ......................................................................................... 14 8. 在 UniGUI 使用 ADO 的设置 .............................................................................................. 16 9. MainModule 怎样得到 js 变量的值 ...................................................................................... 16 10. TUniServerModule 和 TUniMainModule 这两模块有何区别 ....................................... 16 11. MainModule 一般放什么, ServerModule 一般放什么? ....................................... 17 12. 主窗体的标题怎么去掉 ................................................................................................. 17 13. 用 ExtEvent 打开链接和下载文件 ................................................................................. 17 14. WebApplication 显示对话框 .......................................................................................... 17 15. Uni 中的 UniChart 的 Series增删 .................................................................................. 17 16. 怎样给每一个在线用户建立一套变量,在用户断开后立即清除 ............................. 18 17. TUniHiddenPanel 的作用 ................................................................................................ 18 18. UniDBGrid 如何转为 Excel供下载? ............................................................................. 18 19. uniGUI 实现 Excel的导出 .............................................................................................. 18 20. UniDBGrid Excel文件下载 .............................................................................................. 19 21. Excel文件导入系统 ........................................................................................................ 21 22. 文件转档与下载 ............................................................................................................. 21 23. Send File()应用 ............................................................................................................... 21 24. UniGUI 的 Canvas使用 ................................................................................................... 22 25. 动态生成 TTabSheet or TUniTabSheet ........................................................................... 22 26. UniGUI 中如果获得 Session情况 .................................................................................. 23 27. UniGUI Func 之 Sessions ............................................................................................... 23 28. uniGUI 通过 SessionList操作另外的登录用户 ............................................................ 24 29. UniGui 中如何监听 Session的开始与结束 ................................................................... 25 30. UniGUI 如何禁止关闭新窗口 ........................................................................................ 27 31. UniGUI 中控件类名的变化 ............................................................................................ 27 32. 再议 UniGUI 中使用 Grid+Rport 报表控件 (推荐此方法 ) ............................................. 28 33. UniGUI 的布局面板控件 TUniRegionPanel ................................................................... 28 34. UniGUI 使用报表 Grid+Report 的方法之一 (静态调用 ) ................................................ 28 35. UniGUI 使用报表 Grid+Report 的方法之二 (动态调用 ) ................................................ 28 36. UniGUI 中 Cookies 使用中文汉字的方法 ...................................................................... 28 37. UniGUI 如何实现压缩传输数据? ................................................................................ 29 38. UniGUI 的 ShowModal .................................................................................................... 29 39. UniGUI 前台用户如何在软件中点击一个按钮打开浏览器并打开地址? ................ 29 40. How To Make Caption In UniGUI? ................................................................................. 30 41. 在 UniGUI 的 UniHtmlFrame 中不能使用的 HTML 标签 .............................................. 30 42. 利用 UniGUI 中的 TUniPageControl 实现多页面 .......................................................... 30 43. UniGUI TreeView 处理 .................................................................................................... 31 44. UniGUI 设置超时 ........................................................................................................... 31 45. UniGUI 如何实现登陆页面 ............................................................................................ 31 46. UniGUI 如何实现超链接 ................................................................................................ 32 47. 从 ASP网站登录到 UniGUI 中 ....................................................................................... 32 48. UniGUI 数据库初始化要放到 MainModule ............................................................. 32 49. UniGUI Cookies ................................................................................................................ 32 50. Form Inheritance ............................................................................................................. 33 51. UniGUI 组件中的 Client JavaScript Delphi 组件之间的操作 ......................................... 33 52. JS能取 Delphi 控件的值? ............................................................................................ 34 53. 写 js 的注意 .................................................................................................................... 34 54. unigui 结合 JS方法记录 ................................................................................................. 34 55. JS,Jquery获取各种屏幕的宽度和高度 ......................................................................... 35 56. uniGUI 动态建立 Form 及释放 ...................................................................................... 37 57. uniGUI 经验两则 uniTimer uniHtmlFrame .................................................................... 37 58. uniGUI 使用百度地图 api 进行标注 .............................................................................. 37 59. fileupload 的问题 ........................................................................................................... 38 60. unigui unidbgrid 显示列的合计值 ................................................................................. 38 61. UniGui 中设置 uniEdit 控件的 fieldLabel ,emptyText 等 Extjs 属性 .............................. 40 62. uniGUI 用 Grid++Report 报表插件设计保存报表 (For unigui ver:0.95.0.1045) ............ 40 63. UniGUI 的 TUniLoginForm 窗口自定义背景色 .............................................................. 46 64. uniGUI 显示 Warning: Form must be shown after it is created 的解决办法 ................. 46 65. 界面上的快捷方式 ......................................................................................................... 46 66. 调用 WebService............................................................................................................. 47 67. TUniTreeView 的 CheckBox ............................................................................................ 49 68. 通过 URL来获取相关参数 ............................................................................................ 52 69. uniDBGrid 实行多选表格行 ........................................................................................... 52 70. UniDBGrid 增加显示记录数的 label 及隐藏 refresh 按钮 ............................................ 56 71. 对 UniDBGrid 的单元格操作 .......................................................................................... 57 72. DBGrid 多选后计算问题(是否可以作为参考?) .................................................... 58 73. UniDBGrid 选择字段 Boolean 处理 ................................................................................ 59 74. UniDBGrid 自带 MultiSelect 无法使用【最新版可以】 ............................................... 60 75. 如何打开 URL,让系统看起来舒服点 ......................................................................... 61 76. 如何修改 UniGUI 下的中文信息 ................................................................................... 62 77. 如何实现 UniDBGrid 下字段显示按钮 .......................................................................... 62 78. 如何实现 UniDBGrid 下字段自动换行 .......................................................................... 62 79. 如何结合 kbmMW .......................................................................................................... 63 80. 如何规避浏览器访问时 ajax 异常 ................................................................................ 63 81. 事件操作时,如果出现等待效果 ................................................................................. 63 82. 登录页面和主页面切换之间碰到的异常 ..................................................................... 63 83. 让 Page 中切换 Tab效果稍微好一点 ........................................................................... 64 84. UniImage 可以嵌入 PNG图片 ....................................................................................... 64 85. UniImage 自带导入 PNG图片的问题 ........................................................................... 65

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧