Tuesday, July 7, 2009

Calling dll in VC++ , 在VC++中引用DLL

前陣子用C#.Net寫了個DLL給廠商用,然後也附了測試的程式給他們,結果他們用VC++開發的人居然不會引用這個DLL(按,阿你們跟其他國合作是怎麼弄的),然後信裡又說要我們今天就給,不然時程延誤不管,有夠機車,只好趕快弄出來,因為很久沒碰C++了,之前也沒玩過VC,所以Google了老半天,用了一堆複雜的啥動態引用DLL的鬼技術都失敗後,後來發現最簡單的方式就好了,害我花了半天在弄這東西。

感謝Darkfall的夥伴abu與doc協力找資料,與強者我同學mascot的支援!!

下面就是今天要給原廠的sample code,找資料時發現很多人在問如何用VC++去呼叫C#的DLL,也列出了很多方法,不過好像沒有下面這個方法,所以貼出來與大家分享XD

#include "stdafx.h"
#using "Billing.dll" //引用DLL
using namespace System;

int main(array<System::String ^> ^args)
{
Billing::Billing::Loading(); //呼叫DLL內的啟動function,讀取DB連結設定
array<String ^> ^ myarr = gcnew array<String^>(2); //宣告字串陣列
myarr=Billing::Billing::Test(); //呼叫DLL內的Test function將DBHost與DBName回傳至陣列
Console::WriteLine(L"1="+myarr[0]+" 2="+myarr[1]); //印出回傳值
Console::ReadLine();
return 0;
}

No comments:

Post a Comment