如何宣告 Variant 陣列 ? |
缺席
|
boson
中階會員 發表:74 回覆:155 積分:85 註冊:2004-07-31 發送簡訊給我 |
MDaemon 是一套郵件伺服器軟體, 它提供了一些 API, 可供我們用程式呼叫, 以進行各項操作
網路上有一段呼叫 MDaemon API 以取得所有域名的程式, 是 ASP 寫的, 如下 [code vb] DIM oMDUser DIM Domains DIM DomainNames() SET oMDUser = CreateObject("MDUserCOM.MDUser") IF oMDUser.LoadUserDll() = True THEN Domains = oMDUser.GetDomainCount response.Write "共有" & Domains & " 個域名." oMDUser.GetDomainNames(DomainNames) FOR i = 0 to Domains - 1 response.write DomainNames(i) &" " next ELSE response.write "Error Loading MDUserCom" END IF Set oMDUser = NOTHING [/code] 我想要將其改為用 Delphi 來寫, 但執行發生錯誤, 程式如下: [code delphi] procedure TForm1.Button1Click(Sender: TObject); var oMDUser : variant; Domains:integer; DomainNames:Variant; // 不知宣告為 Variant 是否正確 ? i:integer; begin oMDUser:=CreateOleObject('MDUserCOM.MDUser'); if oMDUser.LoadUserDll then begin Domains:=oMDUser.GetDomainCount; ShowMessage('共有 ' IntToStr(Domains) ' 個域名'); DomainNames := VarArrayCreate([0, Domains-1], varOleStr); // 此處不知該如何建立 DomainNames oMDUser.GetDomainNames(DomainNames); for i:=1 to Domains do begin end; end; end; [/code] 程式在 oMDUser.GetDomainNames(DomainNames); 這一行, 出現【類型不相符】的錯誤訊息 可能是 GetDomainNames 所需要傳入的參數型態, 跟我所宣告的 DomainNames 不符 原來 ASP 程式的 DomainNames 宣告為 DIM DomainNames() 而在 Delphi 中, 我就不知道該如何宣告 DomainNames 有網友知道的嗎 ? 麻煩提點一下, 謝謝 ! |
tuga
高階會員 發表:16 回覆:109 積分:120 註冊:2002-07-13 發送簡訊給我 |
using c#
http://lists.altn.com/WebX/.5985ff29 System.Array DomainNames = GetDomainNames (foreach (in DomainNames) { Console."\t" d); } about system.array in delphi http://www.devsuperpage.com/search/Articles.asp?ArtID=138235 Which is the correct syntax for declaring an array of type System.Array? |
boson
中階會員 發表:74 回覆:155 積分:85 註冊:2004-07-31 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |