2回目以降のICカードのID取得に失敗してしまいます – プログラミング – Home

2回目以降のICカードのID取得に失敗...
 
通知
すべてクリア

[解決済] 2回目以降のICカードのID取得に失敗してしまいます


アセロラ
 アセロラ
(@アセロラ)
ゲスト
結合: 23年前
投稿: 5
Topic starter  

VC++ 2005 MFC ダイアログベースで
ボタンをクリックするとICカードのIDを取得し、
それをエディトボックスに表示する
というプログラムを作っているのですが、
最初のボタンクリック時のみ正常にIDが取得でき、
それ以降はIDを取得することが出来ません。

void CTest_ICDlg::OnBnClickedButton1()
{
// TODO: ここにコントロール通知ハンドラ コードを追加します。
BYTE id[10];
int length = 0;
CString CardID = ", ID = ";

// ICを読取る
if (GetCardID(id, &length) == 0)
{
// カードID文字列作成
for(int i = 0; i < length; i++)
{
ID.Format(%02X,id[i]);
CardID += ID;
}
}
else
{
// 読取り失敗時にメッセージを表示
CardID = 読取りに失敗しました。;
}
// 結果表示
m_edit1.SetWindowText(CardID);
}

これがそのプログラムです。
どなたかご助言よろしくお願いいたします。


引用未解決
トピックタグ
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

理由はわかりませんが…GetCardID の戻り値は何ですか?

あと、GetCardID ってこれの関数ですかね?
http://developers.orangetags.jp/easyapi/api-manual


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

掲示板の場合、書かれている情報だけが頼りなので
MicrosoftがVisualStudioと一緒に配布している物か
Win32APIのようにWindowsで標準で用意されているAPIでないのなら
何処から持ってきたどういうライブラリのなのかを提示する必要が
あります。標準で提供されているようなライブラリでない場合、
その関数を仕様は提供元しか知らないので、掲示板で尋ねても
答えようがありません。
たまたま同じ関数を使った事がある人が掲示板を見てくれていれば
答えられるかもしれませんけれど。
(それにしたってライブラリが特定できないと答えられないと思いますが)

で、そのライブラリの仕様はライブラリの提供元にまず相談するのが
筋かと思います。詳しい使い方を把握してるのはやはり提供元でしょう。
とりあえず、何か気がつく点を指摘してほしいと言う話だとしても
使っている関数の使用が分からない限り、返信のしようがありません。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

ごめん、誤字。


>使っている関数の使用が分からない限り、返信のしようがありません。


使っている関数の仕様が分からない限り、返信のしようがありません。


返信引用
アセロラ
 アセロラ
(@アセロラ)
ゲスト
結合: 23年前
投稿: 5
Topic starter  

http://developers.orangetags.jp/easyapi/api-manual
の関数なのかどうかはわかりませんが、
インクルードしたヘッダファイルから呼び出しを行っているので
windowsで標準で用意されているAPIではないようです。

初心者の質問に丁寧に答えてくださってありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました