作者win95se (凤梨王)
看板C_and_CPP
标题[问题] BCB 写视窗 DLL
时间Mon May 25 14:34:16 2009
最近尝试 用 BCB 写DLL
一般的传值没有问题,但如果是将 DLL 写成要呼叫一个视窗出来
程式执行时,就会出现 Acess Violation
已将 dll及 lib档放到主程式目录下
呼叫方式为静态呼叫
以下是我的测试程式 请各位大大帮我看一下
====== dll.cpp DLL 主体 ===============
#include <vcl.h>
#include <windows.h>
#pragma hdrstop
// 被呼叫的视窗 Header File
#include "dll1.h"
USERES("BCB09052_DLL.res");
USEFORM("dll1.h",dllForm);
#pragma argsused
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, LPVOID lpvReserved)
{
return 1;
}
//---------------------------------------------------------------------------
void __declspec(dllexport) __stdcall FormShow(){
TdllForm *f = new TdllForm(NULL);
f->ShowModal();
}
===== main.cpp 呼叫 DLL 的程式 ============
#include <vcl.h>
#pragma hdrstop
#include "main.h"
#include "dlldef.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
FormShow();
}
//---------------------------------------------------------------------------
--
If you're not have fun in baseball,
you miss the point of everything.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.120.152.233