我需要使用使用.NET框架創建的DLL。此DLL使COM可見。在delphi中使用COM DLL - MSVCR80D.dll錯誤中的訪問衝突
我想用Delphi 2006年我按照以下步驟創建的應用程序使用此DLL:
- 註冊使用regscr32的DLL。
使用 Delphi IDE導入類型庫。它創建了 _TLB.pas文件。簽名後在TLB文件中創建。
function TValidationRequest.Process(var meterBSN: WideString; var NICSerial: WideString; var partNumber: WideString; var otherConfig: WideString; out returnMessage: WideString): Smallint; begin Result := DefaultInterface.Process(meterBSN, NICSerial, partNumber, otherConfig, returnMessage); end;
我試圖調用使用 下面的代碼段的方法。
procedure TForm1.buttonClick(Sender: TObject); var valReq: TValidationRequest; s1, s2, s3, s4, s5: WideString; o: WideString; begin valReq := TValidationRequest.Create (Self); try valReq.Process (s1, s2, s3, s4, o); MessageDlg(o, mtInformation, [mbOK], 0); finally valReq := nil; end; end;
但是當處理的方法叫我獲得以下錯誤。 alt text http://i41.tinypic.com/2daf1ix.png
請你能提出任何解決方案嗎?
你搖滾MarkusQ!非常感謝。 如果可以的話,我會給你100票。 :) – Hemant 2009-02-25 06:56:26
幹得好!這也是我看到它時發現的。 @Hermant:爲了將來的使用,請記住局部變量(在方法體中聲明)大部分(字符串除外)未初始化,並且可以包含任何內容。全局聲明或作爲類的成員字段聲明的變量被設置爲默認值。 – 2009-02-25 12:02:06