C语言编写并编译而成的GenMac.o文件。
其中有一个过程:
  void GenMacCEB(char* bMacKey, const char* buffers, int iBuffLen, char* Mac);
/*
char* bMacKey: 8位mackey
const char* buffers: 需加密的串
int iBuffLen: buffers的长度
char* Mac: 生成的8位mac值
*/
请问如何在delphi中调用这个过程。
谢谢!

解决方案 »

  1.   

    要么把这个函数转为delphi的,要么就这个obj的做成dll。
      

  2.   

    靠,搜索了一下delphi还真能调用某些obj文件的
    有以下情况:
    1。用Borland的C++编译器,MS的不行~~~,用16位的TC当然就更不可以了,原因自己能想明白吧   
        
      其实用起来通常是有难度的,根据该obj对一些标准库函数的使用情况,你在Delphi里必须全实现了,才能正常编译通过,否则编译时会提示找不到某某函数   
        
      最好的方式还是通过动态链接库来实现2.由於Borland   lib   format   與Microsoft   lib不盡相容,object   file   內容的debug   
      information   有OML與COFF的差別,所以必須自己造一個Borland能夠辨視的lib   
      format.方法如下:   
      c:\bc5\bin\implib   dmapi30.lib   c:\cwin95\system\dmapi30.dll   
      產生Borland   lib   format之dmapi30.lib   
      編譯範例檔   
      c:\bc5\bin\bcc32   -Ic:\dbmaker\3.0\include   -c   ex1.c   
      產生ex1.obj   
      連結執行檔   
      c:\bc5\bin\bcc32   -eex1   ex1.obj   dmapi30.lib   
      產生ex1.exe可正確執行 3.http://hi.baidu.com/sail2000/blog/item/537f1bd8bc75533133fa1ca1.html
    参考上面的一个例子4.不如把原来的函数转化一下了。
      

  3.   

    可以调用嘛。我以前还不知道呢,
    我以前用的时候都是把函数转换或写成DLL文件再调用。
      

  4.   

    还是改为dll方式吧.delphi调用c的obj有很大的局限性,或者你自己改写为delphi的.
    不象cbuilder调用delphi的方便.