線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1515
推到 Plurk!
推到 Facebook!

CAPICOM在BCB上使用的問題...

尚未結案
algo
一般會員


發表:4
回覆:21
積分:10
註冊:2003-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-19 01:34:26 IP:210.68.xxx.xxx 未訂閱
各先先進: 在下最近使用CAPICOM 2.0.0.3來對Certificate作操作, 原本參考VB上面的用法以及把capicom.dll當作Type Libary 來用,但是出現了型態轉換的問題,程式碼如下: Store1->Open(CAPICOM_CURRENT_USER_STORE, L"MY", CAPICOM_STORE_OPEN_READ_WRITE); Certificates1->ConnectTo(Store1->Certificates->Select(L"個人憑證檢視",L"請選擇要匯出之憑證.",false)); Certificate1->ConnectTo(Certificates1->get_Item(1)); Edit1->Text = AnsiString(Certificate1->get_IssuerName()); 在Certificate1->ConnectTo(Certificates1->get_Item(1)); 會出現型態不符的問題,查了Certificates1->get_Item(1)回傳的型態 是TVariant應該會帶型態回來,但是看來是在下使用方法錯誤了^^; 希望有經驗的先進能夠多多指教,Thanks! PS:在下把capicom.dll由Import Type Libary匯入使用 ???
------
???
algo
一般會員


發表:4
回覆:21
積分:10
註冊:2003-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-20 18:07:42 IP:203.74.xxx.xxx 未訂閱
補充一下: unit1.hpp宣告: class TForm1 : public TForm { __published: // IDE-managed Components TButton *Button1; TCertificate *Certificate1; TCertificates *Certificates1; TStore *Store1; void __fastcall Button1Click(TObject *Sender); private: // User declarations public: // User declarations __fastcall TForm1(TComponent* Owner); }; unit1.cpp程式部分: void __fastcall TForm1::Button1Click(TObject *Sender) { Store1->Open(CAPICOM_CURRENT_USER_STORE, L"MY", CAPICOM_STORE_OPEN_READ_WRITE); Certificates1->ConnectTo(Store1->Certificates->Select(L"test", L"test", false)); if (Certificates1->Count <= 0 || Certificates1->Count > 1) ShowMessage("Select cert ERROR!"); else Certificate1->ConnectTo(ICertificatePtr(Certificates1->get_Item(1))); } 執行時發生的錯誤訊息: 'this->get_Item(index, (VARIANT*)&pVal)':型態錯誤! @c:\....\cbuilder6\Import\CAPICOM_TLB.h line2220 看訊息是錯在BCB import capicom.dll時自動產生的標頭 檔有問題,但是還是找不出問題原因所在...請各位先進指教 Thanks! ??? 發表人 - algo 於 2004/08/20 18:09:11
------
???
系統時間:2024-04-29 14:25:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!