delphi call C# dll



1.建一個 dll 專案 (要用 系統管理員 開 不然會錯誤)
專案屬性>應用程式>組件資訊(按下去) > 最後一行 "讓組件....."要打勾
專案屬性>建置>底下要勾註冊COM
這樣就會自動產生 .dll 跟 .tlb 不用搞得用  Tlbexp.exe 轉 那麼複雜
同時也會自動註冊

內容寫:

    public interface IGo //聲明一個接口
    {
       string Go();
    }

    //實現該接口
    [ClassInterface(ClassInterfaceType.None)]
    public class Class1 : IGo
    {
        public string Go()
        {
            return "a1111";
        }
    }
--------------------------

開 D7 新專案 Project>import type library
找上頭列表裡頭的 有你的 Class (Ym_Gmail)
>Add >Install
這樣在 D7 上頭元件 ActiveX 內就有元件可拉

拉進來後

procedure TForm1.Button2Click(Sender: TObject);
var
  co:Class1;
  a:string;
begin
   co:=CoClass1.Create;
   a:=co.GO();
   Memo1.Lines.add(a);

end;
----------------------------
成功
---------------------------------
放到其他台要 註冊(手動方式註冊組件)


RegAsm.exe
位置在 C:\Windows\Microsoft.NET\Framework\v4.0.30319
copy RegAsm.exe 跟 regasm.exe.config

其他台有安裝 .net 4.0 底下都有

用 命令工具 CMD 必須以系統管理員身份才可執行
regasm myAssembly.dll









留言

熱門文章