Delphi中如何调用VC的程序?(100分)

  • 主题发起人 主题发起人 cowboy
  • 开始时间 开始时间
C

cowboy

Unregistered / Unconfirmed
GUEST, unregistred user!
我初学delphi不久。
近日,几个人分别编程完成一项任务,
由于种种原因,分别用delphi、vc。
最后由我作成一个程序。
我打算用delphi作一个界面,分别调用他们的
程序,来完成。
但我不知道如何连在一起,或有其他的方法可以
完成?我应从什么方面学习才能接决这一问题
请各位大虾帮忙。
 
最简单的就是用winexec啦, 直接调用其他的.exe
有很多控件可以在调用外部exe时使当前程序暂停.
 
可以用WinExec, ShellExcute, CreateProcess等API函数启动VC程序, 启动后找到
他的hWnd, 然后可以发送消息进行控制. 具体这几个函数以及消息的使用都可以在已答或正在讨论的问题中找到.
如果VC的程序还没完成, 建议他们做成DLL文件, 调试的时候可以各自用自己的临时
界面, 最后拼装时进行DLL调用. 即做成Exe文件也可以让他们Export几个控制函数,
以便你的控制.
还可以让他们的程序做成ActiveX控件, 那就更容易拼装与调试了.
数据传递可以通过DLL的参数或者使用磁盘文件.
 
若传递的数据量大的话,可以写个VXD或者用内存文件映射
 
WinExec已过时,应该用CreateProcess(...),而且CreateProcess参数多,很
灵活。
进程间传递数据可用:
内存文件映射
管道
SendMessage( WM_COPYDATA,...)
etc
 
混合编程自来就是很讨厌的事,大家该说的都说了,可能也不是你想要的满意答复,
你们还是自己的程序用自己的界面算了!如果实在要进行通讯,简单一点的方法就
是读写文件,或者还有共享内存,消息发送...
 
可以用DDE或DLl或粘帖板或OLE;
粘帖板主要用来传送数量较小的数据;
 
USE DLLS WIHT FUNCTIONS OR WITH FORMS ENBEDE
 
不如通过DLL内封装FUNCTIONS或FORM,然后调用DLLs实现。
 
用COM对象实现挺理想的。
 
我认为使用DLL较好,VC,VB,DELPH可很好调用。
 
抱歉,好久不来了,今天才来看看,
谢谢各位大虾.
 
我是用C++Builder的,所以我站在BCB一边。
C++Builder = Delphi + BC + VC + VCL
所以,用BCB来联合这些程序最适合.
不过首先要精通BCB.
 
多人接受答案了。
 
后退
顶部