我想用 Delphi 编写包含函数的 Dll,然后在 Excel VBA 调用。试了很多次都无法返回正确的结果。
具体如下:
Delphi7 中的测试源码:
//********************************************************************************************
library XlsExt;
{比较两数的大小,并返回较大者}
uses
SysUtils,
Classes;
{$R *.res}
var
SaveExit:Pointer;
procedure LibExit; //为了不使退出Excel时出现异常
begin
ExitProc:=SaveExit; //恢复退出过程链表
end;
function MyMax(X,Y:SmallInt):SmallInt;stdcall; //定义函数
begin
try
if X>Y then MyMax:=X else MyMax:=Y;
except
MyMax:=333; //测试异常处理,可是好像没有看到这个结果。
end;
end;
exports //函数输出
MyMax;
begin
SaveExit:=ExitProc; //保存退出过程链表
ExitProc:=@LibExit; //设置LibExit为退出过程
相关问答:
怎么实现dos下runas自动输入密码
http://bbs.pfan.cn/post-278076.html
代码如下:
VB code:
Option Explicit
Private Const LOGON_WITH_PROFILE = &H1&
Private Const CREATE_DEFAULT_ERRO ......
我在模块里自定义了一个函数:stradd()
可是在adoquery1.sql.add('select stradd(author) from book');
时提示stradd未定义...
这个问题有什么办法可以解决的吗? 非常感激!
......
谢谢了。最好有代码
Insert into Table2(field1,field2,...) select value1,value2,... from Table1
insert into 表一 select * from 表二
如果字段不一致,要指定字段
insert into 表一(A,B) se ......
delphi如何向Access数据表中自定义字段?然后显示到DBGrid中
怎么没人理我呀
分分忒少咧,一般人都懒得进来……*^_^*
SQL
creat table TableName(ID Counter Primary Key,FieldName varchar(20))
ADOQue ......
project project3.exe raised exception class ERemotableException with message 'access violation at address 004037B in module'project2.exe'.read of address 00000003'.process stopped.use ......