dll问题请教 万能的szhcracker大侠啊 看到的话进来帮帮偶吧 不然真要上吊了(100)

Y

Yang.SZ

Unregistered / Unconfirmed
GUEST, unregistred user!
对方给的接口文档上写的是:获取家庭成员信息Syntax:int GetPersonInfo ( varchar(20) SINumber, Char DataBuffer );Arguments参数参数 输入/输出 参数名 是否可空 类型SINumber IN 医疗证编号 N VARCHAR(20)DataBuffer OUT 返回家庭成员信息 CHARReturn(s) : 0 – Succuss-1 - Failure我怎么获得他们的那个DataBuffer啊 以前没接触过DLL 这次突然要用到才看书了解了些 那也只是会把值传给DLL 但不会往回读值 大家多帮帮忙吧 谢谢了
 
呃 我说各位 别只看不答啊 偶这急着呢正... 帮帮忙吧 谢谢了
 
呃 谁来解决下呗!!
 
唉 是我说的不清楚还是怎么了 怎么没个人知一声呢就 对方软件公司给我们发了个DLL文件和一份文档 让我们做接口程序 文档上写的是:*******************************************************************4.1.5 获取家庭成员信息Syntax:int GetPersonInfo ( varchar(20) SINumber, Char DataBuffer );Arguments参数 输入/输出 参数名 是否可空 类型SINumber IN 医疗证编号 N VARCHAR(20)DataBuffer OUT 返回家庭成员信息 CHARReturn(s) :0 – Succuss-1 - Failure********************************************************************我水平有限  看了半天也没看明白  这个接口我该怎么写  哪位高人知道的话 指导下啊  先谢谢了
 
传递指针的引用进去就好了。
 
用你的dll直接访问数据库,然后返回数据给调用者?现在好像除非是一个公司的,跨公司的没有这样写的,太不安全了。delphi创建一个dll的工程,其他和写正常的App程序是一样。
 
function GetPersonInfo (SINumber:pchar;out DataBuffer:char):integer;---'dll'44这样,SINumber调用前分配好内存 getmemory zeromemory freememory 等等
 
zhengrong117: 我刚接触DLL 你能不能说的详细点 最好是能发个实例让我看看 . 谢谢了
 
不是我做接口给别人用 是别人做的DLL 给我用
 
显然, 他接口定义不能满足要求的。。。。呵呵
 
这个应该是存储过程。。用存储过程来访问啊
 
给你个调用的例子function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external 'KERNEL32.DLL'; 详细请看http://cactusprogram.appspot.com/?p=130001
 
cactus123456 你给的那个网址我看了 可是我没看到有读取返回值的地方啊 GetPersonInfo(SINumber, DataBuffer) SINumber是我的输入信息 而那个 DataBuffer则是我要读取出来的信息 我要从那个DataBuffer中获得我需要的信息 这样的DLL该怎么调用?? 我在网上查了许久 没有这方面的文章 我用正常的调用DLL方法调用 结果提示"Access violation at address 10002405 in module 'DLL.dll'. read of address 00000008"
 
我把SINumber传过去 DLL 返回我个DataBuffer值 里面有我所需的所有全部内容 在网上找了好久也没见过这种格式的DLL调用 不知道该怎么传值 该怎么接收DLL所返回来的值
 
TSINumber=array[0..19] of charfunction GetPersonInfo ( SINumber:TSINumber;var DataBuffer char):integer;
 
to supermay: 我用 function GetPersonInfo(SINumber, DataBuffer: PChar):Integer 不成吗?? 别的也都是用的PCHAR 也都过了啊 另外还有 定义是这么定义 那我怎么读取这个DataBuffer值啊???
 
晕哪 怎么又不人理我了!!!
 
多人接受答案了。
 
function GetPersonInfo(SINumber, DataBuffer: PChar):Integer 这样确实可以啊!最主要的是 DataBuffer 这个是多大的空间,然后你分配多大空间给他,而且接口商有个交代呀。在取出的数据第几位是表示什么数据,接口商那里应该有详细说明, 要不然就神仙来就你了。按照接口商的数据结构,自己分解就可以了。
 
顶部