主页
Top.Mail.Ru Yandeks.Metrika
论坛:“主要”;
当前存档:2002.07.29;
下载:[xml.tar.bz2];

向下

Delphi 5和Delphi 6。 DLL编译 找到类似的分支


EugeneP   (2002-07-18 11:56) [0]

有一个源DLL Ki
它是为在Delphi 5中应用而编写的
我用5-ke编译-一切都很好
调用时出现6错误的编译器

什么razninets可以是???

DLL使用IBX组件。

有趣的是,它们甚至具有不同的尺寸。

我只是不想设置5,因为该任务是唯一的。
也许要更改项目中的哪些设置???

谢谢。



Digitman   (2002-07-18 12:03) [1]

什么错 具体来说?



EugeneP   (2002-07-18 12:07) [2]

违反访问权限XXX(我不记得确切的地址了)



Anatoly Podgoretsky   (2002-07-18 12:08) [3]

你不是在撒谎



EugeneP   (2002-07-18 12:09) [4]

没有
此外,对于5和6 delphi,编译的dll的大小是不同的



EugeneP   (2002-07-18 12:12) [5]

顺便说一句
dll使用IBX组件
也许因为这个?



Skier   (2002-07-18 12:14) [6]

> EugeneP

还有代码,我的朋友! :)
1)DLL中的函数声明
2)从应用程序中调用函数(D6)



EugeneP   (2002-07-18 12:18) [7]

关于代码
我可以给代码本身
但是不幸的是,该电话不是来自我的程序

这是代码

库ext_confo;


使用
ShareMem,
SysUtils单元,
Windows中,
类,
对话框,
IBDataBase,
IB查询
表格;

{$ R * .RES}


function ext_confo_dp //确认DEPO事务后调用外部函数

(数据库:TIBDataBase; {数据库访问组件。注意!不需要打开,关闭等组件!!!!!)
AHandle:THandle; {处理申请}
票:双人; {票号}
tran:PChar;
r_ticket:PChar; {机票号码查询者}
监护权:PChar; {交易对手的唯一标识符(客户表)}
客户名称:PChar; {交易对手名称}
ccy:PChar; {货币}
数量:双倍;
利息:双倍;
率:两倍; {课程}
acc_from:PChar; {从帐户付款}
acc_to:PChar; {接收到帐户}
acc_from_n:PChar; {银行帐户上的Nostro帐号}
acc_to_n:PChar; {银行帐户上的Nostro帐号}
valuedate:TDateTime; {购买日期}
valuematurity:TDateTime; {销售日期}
交易日期:TDateTime; {销售日期}
roll_v_amount:double; {按价值日期公布的数量}
roll_m_amount:double; {到期日总和}
roll_v_ticket:双; {按valuedate进行记录的票证} //(-1-无票证)(-2-多个)
roll_m_ticket:双; {凭票成熟度}
num_instr:整数; {表t_cust_payinstr中的付款指示号}
swift_confo:pchar {以SWIFT格式确认}

):整数; stdcall;
var IBQuery_TMP:TIBQuery;
IBTransaction_TMP:TIBTransaction;
开始
//以访问数据库为例
结果:= 0;
Application.Handle:= AHandle;
IBTransaction_TMP:= TIBTransaction.Create(应用程序);
IBQuery_TMP:= TIBQuery.Create(应用程序);
尝试
IBTransaction_TMP.Params.Clear;
IBTransaction_TMP.Params.Add(“ isc_tpb_read_committed”);
IBTransaction_TMP.Params.Add(“ isc_tpb_rec_version”);
IBTransaction_TMP.Params.Add(“ isc_tpb_nowait”);
IBTransaction_TMP.Params.Add(“ isc_tpb_read”);
IBTransaction_TMP.DefaultDatabase:= DB;
IBTransaction_TMP.Active:= true;
IBQuery_TMP.DataBase:= DB;
IBQuery_TMP.Transaction:= IBTransaction_TMP;
IBQuery_TMP.SQL.Clear;
IBQuery_TMP.SQL.Add(“从dp中选择*,其中ticket =” + FloatToStr(ticket));
IBQuery_TMP.Open;
结果:= 0;
MessageDLG(“ DEPO确认功能。对于您的实现,请与您的程序员联系。Counterparty =“ + PChar(IBQuery_TMP.FieldByName(“ custid”)。Asstring),mtWarning,[mbYes],0);
IBQuery_TMP.Close;
最后
IBQuery_TMP.Free;
IBTransaction_TMP.Free;
结束;


//不要删除以下2行! 需要它们使焦点返回到应用程序。
Application.ProcessMessages;
Application.Handle:= 0;

结束;

function ext_confo_nett //外部函数。 在打印票时调用

(DB:TIBDataBase;
AHandle:THandle; {处理申请}
监护权:PChar; {交易对手的唯一标识符(客户表)}
客户名称:PChar; {交易对手名称}

//与交易相关的选项
ticket_array:PChar; {票号}
r_ticket_array:PChar; {机票号码查询者}
note_array:PChar; {交易说明清单。 分隔符“ |”}

//与付款相关的参数
p_amount_array:PChar; {产生的金额清单。 分隔符“ |”}
p_amount_include_array:PChar; {净额中包括的金额清单}
ccy_array:PChar; {产生的货币清单。 分隔符“ |”}
ccy_include_array:PChar; {网中包含的货币列表(根据p_amount_include_array字段)}
acc_array:PChar; {nostro帐户的标识符列表。 分隔符“ |”}
acc_name_array:PChar; {nostro帐户名称列表。 分隔符“ |”}
acc_n_array:PChar; {银行帐户上的nostro帐户清单。 分隔符“ |”}
Payments_tickets:PChar; {网票号}
p_date_array:PChar; {产生的付款起息日期清单}
swift_confo:pchar {以SWIFT格式确认}


):整数; stdcall;

开始
结果:= 0;
MessageDLG(“调用了外部NETTING票证确认功能。要实现该方法,请与您的程序员联系”,mtWarning,[mbYes],0);

//不要删除以下2行。 需要它们使焦点返回到应用程序。
Application.ProcessMessages;
Application.Handle:= 0;

结束;


导出ext_confo_dp;
结束。



EugeneP   (2002-07-18 12:20) [8]

我纠正了一点
还有功能
ext_confo_dp被称为

其余的最后也出口了
但我现在将它们删除



Skier   (2002-07-18 12:36) [9]

> EugeneP
我了解:
1),您刚刚重新编译了库(主机未更改)
2)发生错误 不在体内 DLL函数,即何时


所以呢?



EugeneP   (2002-07-18 12:40) [10]


主机没有改变

dll正常编译
即,当被调用时-一个错误



Skier   (2002-07-18 12:46) [11]

> EugeneP
可怕的东西! :)
让我们触摸一下...尝试禁用优化
并重新编译DLL。 (我有一个案例,它有帮助,
确实是D3,但您可以尝试。)



EugeneP   (2002-07-18 13:34) [12]

禁用优化无济于事:((



Страницы: 1 整个分支

论坛:“主要”;
当前存档:2002.07.29;
下载:[xml.tar.bz2];

楼上





内存:0.59 MB
时间:0.035 c
3-95235
User_OKA
2002-07-04 07:52
2002.07.29
SQL树


3-95187
GSVMaster
2002-07-05 04:21
2002.07.29
请帮助数据库中的开发人员!


3-95206
敏捷
2002-07-05 08:18
2002.07.29
请求


1-95429
snoup
2002-07-16 16:15
2002.07.29
您好! 如何以编程方式发送短信到任何线程移动!


1-95289
LENY
2002-07-17 10:16
2002.07.29
在StringGrid中绘图





南非荷兰语 阿尔巴尼亚人 阿拉伯语 亚美尼亚 阿塞拜疆 巴斯克 白俄罗斯 保加利亚语 加泰罗尼亚 简体中文 中国(繁体) 克罗地亚 捷克 丹麦语 荷兰人 英语 爱沙尼亚语 菲律宾人 芬兰 法语
加利亚西语 格鲁吉亚语 德语 希腊语 海地克里奥尔语 希伯来语 印地语 匈牙利 北日耳曼语 印度尼西亚人 爱尔兰语 意大利语 日本 韩语 拉脱维亚 立陶宛 马其顿 马来语 马耳他语 挪威语
波斯语 波兰语 葡萄牙语 罗马尼亚 俄语 塞尔维亚 斯洛伐克 斯洛文尼亚 西班牙语 斯瓦希里 瑞典语 泰国人 土耳其 乌克兰 乌尔都语 越南人 威尔士语 意第绪语 孟加拉 波斯尼亚
宿务 世界语 古吉拉特语 豪萨语 苗族 伊博 爪哇 卡纳达语 高棉 老挝 拉丁语 毛利 马拉 蒙古人 尼泊尔 旁遮普 索马里 淡米尔文 泰卢固语 约鲁巴语
祖鲁
英文 Французский Немецкий Итальянский Португальский 俄文 Испанский