请帮忙解答一下,在delphi下编写dll文件遇到的错误

我在delphi下编写了一个dll文件,代码如下:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, bsSkinCtrls, bsSkinGrids, bsDBGrids, OleServer,
grproLib_TLB;
procedure printer();stdcall;export;
{$R *.res}
procedure printer();stdcall;export;
var path,str:string;
begin
path:=ExtractFilePath(paramstr(0))+'lib\report.grf';
str:=ExtractFilePath(paramstr(0));
grdprprt1.LoadFromFile(path);
grdprprt1.DetailGrid.Recordset.QuerySQL:='SELECT * FROM LIST';
grdprprt1.DetailGrid.Recordset.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+str+'lib\mydata.mdb;Persist Security Info=False;Jet OLEDB:Database Password=landkim';
grdprprt1.PrintPreview(TRUE);
end;
begin
end.
grdprprt1是主窗体中的一个打印控件,我想通过封装在dll中的 printer()过程,来实现打印数据(比如在主窗体按钮上运行printer()过程即可)。
但在grdprprt1下方有红色曲线,错误提示:undecided identifier 'grdprprt1'
我会通过过程文件来实现此功能,现在主要想在dll下实现。
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="onClick" LANGUAGE="VBScript">
MsgBox "按钮被单击!"
</SCRIPT>
</FORM>
</BODY>
</HTML> A
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-09
grdprprt1 是一个对象吧,要先创建才可以使用。追问

它在主窗体己经创建了,在dll 下如何创建?

追答

var
grdprprt1: Tgrdprprt;
begin
grdprprt1 := grdprprt1.create(application);

grdprprt1 := grdprprt1.create(nil);

end;

请帮忙解答一下,在delphi下编写dll文件遇到的错误
问题补充:可以写得更详细点让我这个DELPHI 新手会明白,请高手帮帮忙 DLL写法: library DLL; uses SysUtils, Classes; procedure proc;stdcall; \/\/

delphi调用vc编写的dll,出现错误
方法一: 改DELPHI代码:function login(name,password:pchar):Integer;stdcall;改成 function login(name,password:pchar):Integer;cdecl;当C函数不使用STDCALL方式声明时, 默认的约定叫C declare (看字面意思就应该明白,C的函数声明方式)DELPHI对应的就是cdecl 方法二: 改C部分代码 extern "C" _decls...

delphi 创建了dll文件会导致内存出错?
真没见过创建dll会导致内存出错的情况,一般是调用dll中某函数出这种错,其中最常见的是忽略了stdcall表示的参数入栈顺序,由于delphi和C刚好相反,两者互相调用对方创建的dll时,需要认真审视入站顺序这一说

来看一个delphi构建时候出现的情况~~就是DLL构建不了
这段错误提示,是指出key.res这个资源文件没有找到。一般来说,delphi在新建一个工程、单元文件时会自动建立缺省的同名 .res 资源文件,而如果你是从别的地方复制过来,没复制完全,或者因为某些原因导致了这个文件丢失。一般情况下,res资源文件的用处并不多,除了一些有特定需求,比如:自己定义的图标、...

DELPHI 编译出错,每次编译那个项目都会出现这个提示,偶尔能通过,十次有...
DLL还有什么用去,如果要反复使用某个过程或函数,还不如写几个自定义函数好。有些以为自己会写DLL就了不起了,因此,只要写软件,就弄几个DLL出来显摆显摆,写DLL没有什么难的,实际上就是一个可以单独编译的单元文件,准确的说,这不如单元文件,因为它只能解决一个问题,只有一个入口嘛。

求Delphi编译错误全部。。。
Could not create output file <Filename> 不能建立输出文件<Filename>Could not load RLINK32.DLL 不能加载RLINK32.DLL Data type too large: exceeds 2 GB 数据类型太大:超过2GB Declaration of <Name> differs from previous declaration <Name>的说明与先前的说明不同Default property must be an array ...

delphi 报错Access violation at address 7C932F39 in module 'ntdll...
另外,可能出现这个问题的原因是因为你是在WINRAR的窗口中运行程序,而程序又找不到主要文件引起的。解决方法:)~~尝试用兼容方式运行该程序.右键点击图标——属性——兼容型——选中“以兼容方式运行该程序”——下面的选框中可以选择以95、98、NT4.0或2000模式来运行。推荐选择98试试看。

delphi 运行时报错。如下图。怎么解决?
缺少CONNDLL.dll,或CONNDLL.dll文件有问题。在电脑上查找一个CONNDLL.dll放入system32文件下,或对应文件夹下试试。

delphi调用VC++写的dll时出错
程序目的:dll收到DELPHI的字符串,弹出.在弹出字符串后弹出错误提示:Acess violation at address 0134B073 in module 'mydll.dll'.Write of address 0045216C dll源代码:extern "C" _declspec(dllexport)int went(CString str){ AfxMessageBox(str);return(0);} delphi源代码:procedure TForm1.Button1...

关于delphi中动态调用dll时出现的问题
));end else showmessage('找不到函数');finally FreeLibrary(hd_csqm);end;这样子试试 应该是参数的问题,你可以试试调一个没有参数的函数,或者参数采用默认值形式的函数;如果是参数的问题的话,可能要把String 改成pchar 还有一个问题就是 你的DLL里面 uses 第一个是不是 ShareMem ...

相似回答
大家正在搜