求教,c#如何調用delphi編寫的dll中的函數

來源:互聯網
上載者:User
求教,c#如何調用delphi編寫的dll中的函數 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiBase/html/delphi_20061219114602118.html
如題;  
  由於工作需要用到c#,但是有寫函數用c#太不習慣了,於是用delphi寫,但是調用時出現了問題,開始以為是函數寫錯了,但是後來寫了個最簡單的showmessage也不行  
   
  delphi中  
        聲明部分  
        procedure   Showmsg(mText:string);       cdecl;  
        定義部分  
        procedure   Showmsg(mText:string);       cdecl;  
        begin  
          ShowMessage(mText);//就隨便測試下  
        end;  
        給出連接埠  
        exports  
            Showmsg;                     //編譯產生Project2.dll  
   
  c#中  
        引用  
          [DllImport("Project2.dll")]    
          private   static   extern   string   Showmsg(string   mText);  
        隨便放入一個按紐點擊事件  
            Showmsg("afsdfas");  
        結果只show出了第一個字元   “a”  
   
        如果把delphi中的過程寫成一個函數,那就show成了空的,沒接收到入參  
   
  不知道應該怎樣寫,請高手指點  
         
 

仔細看一下有關教材,Delphi裡的string類型與C裡面的並不一樣,  
  procedure   Showmsg(mText:pchar);       cdecl;  
  這樣才可以  
   
   
 

但是c#裡面好象沒有pchar型,只有char型  
  試了一下不行,show出來的是亂碼。。。

頂

汗,我的意思是指在DELPHI裡面要使用pchar   型......

或者乾脆使用指標+長度   兩個參數來傳遞.....

結貼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.