聲明 
type
      TMystruct=Record
            nHookOnTime,nHookOffTime,nRingOnTime,nRingOffTime,nStopCIDTime:integer;
      end;type
    MyArraystruct1=^TMystruct;
實現
 MyArraystruct1.nHookOnTime:=nHookOnTime;
                   MyArraystruct1.nHookOffTime:=nHookOffTime;
                   MyArraystruct1.nRingOnTime:=nRingOnTime;
                   MyArraystruct1.nRingOffTime:=nRingOffTime;
                   MyArraystruct1.nStopCIDTime:=nStopCIDTime;
為什麼提示出錯;
這個結構體偉到VC DLL鉣錯嗎?
SetAD101LineParameter(nLineIndex,@MyArraystruct1);   VC DLL FUN

解决方案 »

  1.   

    MyArraystruct1如果是指针的话,需要New一下,先分配空间
      

  2.   

    為什麼這一行會出錯
    整形給整形會錯嗎?
    MyArraystruct1.nHookOffTime:=nHookOffTime;
      

  3.   

    TMystruct = packed record //两边对齐方式要一致
      ...
    end;SetAD101LineParameter(); stdcall; //两边声明要一致还有问题就把C的声明贴出来,包括SetAD101LineParameter的声明
      

  4.   

    var
      MyArraystruct1: TMystruct; //没有^
    begin
      MyArraystruct1.nHookOnTime:=123;
    end;
      

  5.   

    VC : 声明
    struct   Mystruct{   
      int   nHookOn;   
      int   nHookOff;   
      int   nRingOn;   
      int   nRingOff;  
      int   nStopCID;
      };  
    BOOL    _stdcall SetAD101LineParameter(const int nLine,Mystruct* pMystruct)
      

  6.   

    按zswang的方法
    MyArraystruct1.nHookOffTime:=nHookOffTime;
    這行不錯了
    SetAD101LineParameter(nLineIndex,@MyArraystruct1);出錯
    可是怎麼才能把數組偉到VC啊
      

  7.   

    zswang(伴水清清)(专家门诊清洁工) 
    有好的方法嗎?
    madyak(无天)能說一說,說點的嗎?
    我用VC,DELPHI剛接解
      

  8.   

    type
      Mystruct = packed record
        nHookOn: Integer;
        nHookOff: Integer;
        nRingOn: Integer;
        nRingOff: Integer;
        nStopCID: Integer;
      end;function SetAD101LineParameter(nLine: Integer;
      var pMystruct: Mystruct): BOOL; stdcall; external 'youlib.dll';procedure TForm1.Button1Click(Sender: TObject);
    var
      pMystruct: Mystruct;
    begin
      SetAD101LineParameter(1, pMystruct);
    end;