delphi与vc++之间的调用?(200分)

  • 主题发起人 主题发起人 一天到晚游泳的瑜
  • 开始时间 开始时间

一天到晚游泳的瑜

Unregistered / Unconfirmed
GUEST, unregistred user!
我用delphi的Tchart画了一个曲线图,但它的值是在Vc++中得到的,因此希望在delphi与
Vc++之间调用,理想的状态是在VC++中调用delphi,请问该怎样调用,具体代码是什么?
如果实在不能实现,在delphi中调用VC++也可,请问这又该怎样使用?问题很急,希望大家
多多帮忙!
 
这样试一下:
Tchart <----->临时表 <------->VC++
 
具体怎么做?请明确指出
 
1.在VC中将信息写入注册表
2.用winexec调用delphi
3.在delphi程序中读入注册表中的信息,画图!
 
在VC++中调用delphi呢?在delphi中的DLL文件有一个函数,我想在VC++中使用,具体代码
是什么?
 
可以将它们其中之一做成一个COM对象,提供一个接口,对外输出,即可!
 
现在先不考虑delphi与c之间的问题,我想知道,怎样调用dll中的函数。我在dll文件中
定义了一个函数,然后在其他程序中调用,请问具体代码是什么?
 
我试了一下,当我在delphi中只是写了简单的赋值运算,则在vc中能正常运行,但当我
用strtoint这个函数时就出现非法操作,请问这是为什么?是不是在vc中加载的时候还要
什么申明。请指教。
我在delphi中写的代码是:
function s1(t1:String):Integer;
var i:Integer;
begin
result:=strtoint(t1);
end;

在vc中加载的代码是:
声明:
int (*s2)(CString t1);
在调用的时候是:
CString t1="10";
int i;
HINSTANCE hInstance=LoadLibrary("testformdll3.dll");
if(hInstance==NULL)
{
MessageBox("not find dllfile","error",MB_ICONERROR|MB_OK);
}
else
{
s2=(int (*)(CString))GetProcAddress(hInstance,"s1");
i=(*s2)(t1);
}
结果出现非法操作,请指教。
 
我现在又发现了一个新的问题,当delphi中的函数又一个参数,我在vc中为这参数赋值,
但传出的值改变了。这是为什么?
程序如下:
在delphi中:
function ss(t1:Integer):Boolean;
var x1:TForm1;
begin
x1:=TForm1.create(Application);
x1.edit1.text:=inttostr(t1);
x1.ShoeModal;
end;

在vc中,调用还是和前面的一样,
只是定义了一个变量
int i=10;
调用函数:(*s2)(i);
结果,edit1中显示的值不是10,倒是有点像随机数。
请问这是为什么?
 
有关这方面的讨论前面已经有好多了的,你可以先看看
还有就是如何调用dll里面export的function的
问题,你可以找些书看看先,尤其是两者之间的要注意的地方
我觉得前面的讨论说的也很清楚的了,你要是看了还不明白的话
再说,ok?
 
多人接受答案了。
 
后退
顶部