DLL调用弹出这个提示:
cannot assign a tfont to a tfontDLL:
var
DLLApp: TApplication;
DLLScr: TScreen;//建立一个DLL窗体,传入应用和桌面和其它参数,返回一个窗体对象
function CreateBuyForm(App: TApplication; Scr: TScreen;var DataMdl: TfrmDataModule):TForm;stdcall;
begin
Application := App;//将DLL的应用和桌面用主调程序的代替.
Screen := Scr; frmDataModule:= DataMdl;
Application.CreateForm(TfrmBuy, frmBuy);//这里出错
//建立窗体,可以是普通窗体
result:=frmBuy;
end;//释放DLL资源
procedure ExitDLL(Reason: Integer);
begin
if Reason = DLL_PROCESS_DETACH then
begin
Application := DLLApp;
Screen := DLLScr;
end;
end;//发布为处部函数
exports
CreateBuyForm;begin
DLLApp := Application;
DLLScr := Screen; DLLProc := @ExitDLL;
end.
cannot assign a tfont to a tfontDLL:
var
DLLApp: TApplication;
DLLScr: TScreen;//建立一个DLL窗体,传入应用和桌面和其它参数,返回一个窗体对象
function CreateBuyForm(App: TApplication; Scr: TScreen;var DataMdl: TfrmDataModule):TForm;stdcall;
begin
Application := App;//将DLL的应用和桌面用主调程序的代替.
Screen := Scr; frmDataModule:= DataMdl;
Application.CreateForm(TfrmBuy, frmBuy);//这里出错
//建立窗体,可以是普通窗体
result:=frmBuy;
end;//释放DLL资源
procedure ExitDLL(Reason: Integer);
begin
if Reason = DLL_PROCESS_DETACH then
begin
Application := DLLApp;
Screen := DLLScr;
end;
end;//发布为处部函数
exports
CreateBuyForm;begin
DLLApp := Application;
DLLScr := Screen; DLLProc := @ExitDLL;
end.
解决方案 »
- 祝奶奶的伤早日康复!
- 急!!!!TADOStoredProc如何进行输入输出参数的问题?
- 散分!发现一个很不错的学习论坛~~~
- 谁知道这里有个叫小新的四星用户的id是什么?第一个回答的给40分
- 软件调用windows下的tracert仅能看到ping多少,我现在想得到丢包率多少应如何处理呢?
- Bitmap image is not valid的问题
- ####公历、农历互转的算法和源代码####
- 挂钩问题!请大虾们多多指教!分不够在加!
- INI文件可否在某一个小节中又有几个小节?
- 下面这段代码里 哪些属于post提交的数据包?
- ado连接 EXCEL 查询的时候加上WHERE条件报错
- 关于文本文档的操作
function CreateBuyForm(App: TApplication; Scr: TScreen;var DataMdl: TfrmDataModule):TForm;stdcall;
begin
Application := App;//将DLL的应用和桌面用主调程序的代替.
Screen := Scr; frmDataModule:= DataMdl;
//**Application.CreateForm(TfrmBuy, frmBuy);//这里出错
//建立窗体,可以是普通窗体
//**result:=frmBuy;
Result := TfrmBuy.Create(nil);
end;
function CreateBuyForm(App: TApplication; Scr: TScreen;var DataMdl: TfrmDataModule):TForm;stdcall;
begin
Application := App;//将DLL的应用和桌面用主调程序的代替.
Screen := Scr; frmDataModule:= DataMdl;
//**Application.CreateForm(TfrmBuy, frmBuy);//这里出错
frmBuy := TfrmBuy.Create(nil);
//建立窗体,可以是普通窗体
result:=frmBuy;
end;
是不是说用 包+DLL来分发呢?
具体做能讲讲吗?
begin
Application := App;//将DLL的应用和桌面用主调程序的代替.
///**Screen := Scr; 能不能不传??? frmDataModule:= DataMdl;
//**Application.CreateForm(TfrmBuy, frmBuy);//这里出错
frmBuy := TfrmBuy.Create(nil);
//建立窗体,可以是普通窗体
result:=frmBuy;
end;