如上

解决方案 »

  1.   

    procedure OpenForm(mainForm:TForm);stdcall;External'project2.dll';
    procedure ShowCCC;stdcall;External'project2.dll';
    procedure InputCCC(Text: Pchar);stdcall;External'project2.dll';
      

  2.   

    stdcall..等调用方式 约定了参数的调用方式 有从左到右 有从右到左的。。还有谁负责清理堆栈。。
    有调用者清理的 也有被调用者清理的<就是被调用函数>....等。Element Implementation 
    Argument-passing order Right to left. 
    Argument-passing convention By value, unless a pointer or reference type is passed. 
    Stack-maintenance responsibility Called function pops its own arguments from the stack. 
    Name-decoration convention An underscore (_) is prefixed to the name. The name is followed by the at sign (@) followed by the number of bytes (in decimal) in the argument list. Therefore, the function declared as int func( int a, double b ) is decorated as follows: _func@12 
    Case-translation convention None 
      

  3.   

    看Help了DLL才需要使用StdCall的,普通的没需要http://lysoft.7u7.net
      

  4.   

    不只是DLL呀 还有回调函数 也是STDCALL的。
      

  5.   

    Element Implementation
    Argument-passing order Right to left.
    Argument-passing convention By value, unless a pointer or reference type is passed.
    Stack-maintenance responsibility Called function pops its own arguments from the stack.
    Name-decoration convention An underscore (_) is prefixed to the name. The name is followed by the at sign (@) followed by the number of bytes (in decimal) in the argument list. Therefore, the function declared as int func( int a, double b ) is decorated as follows: _func@12
    Case-translation convention None