新着表示
タイトル
記事No
投稿日
投稿者
参照先
:
Re: THW_updateについてお教えください
:
147
:
2009/08/10(Mon) 11:44:23
:
JO1SIM 出島
:
吉田さん
おはようござます。
Byte()に変更しても同じだったのですね。
THDLL2VB.DLL側には問題ないということみたいですね…。
あと確認するとしたら、データのコピーのあたりですかねぇ。
> JO1SIM 出島さん、おはようございます。
>
> 同じデータをUpdateではなくAppendで追加するときは、正常に追加できます。
>
> > UpdateQsoDataはByte()で定義して…
> >
> > bytesData = System.Text.Encoding.GetEncoding(932).GetBytes(u_DataTbl(d))
> > ' 932はShift_JISの意味
> >
> > のようにして、ShiftJISのバイト列に変換してSetThBufferに与えてみてはいかがでし>>ょうか?
>
> 試みに、SetThBufferの定義部分の第二引数をバイト配列型に変更して
>
> Dim UpdateQsoData As Byte()
>
> For d As Integer = 0 To 14
> UpdateQsoData = System.Text.Encoding.GetEncoding(932).GetBytes(u_DataTbl(d))
> SetThBuffer(u_th, UpdateQsoData, d)
> Next
>
> としてShiftJISのバイト列に変換してSetThBufferに与えてみとしましたが、結果はstring型の場合と同じで、修正できるデータ項目と修正できないデータ項目はまったく同一でした。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: THW_updateについて
: 146
: 2009/08/10(Mon) 11:39:57
: JA2BQX 太田
こんにちは。
> th2 = th ではダメなんでしょうか?(笑)
これもすでに試してはいますが結果は同じでした。
その後のテストで Code 、 G/L 、 QSLは変わります。
HAMLOG50.H の中身を見ています。下記を見ると
WORD
Flag1; ..以下が変わらない項目と合います。
THW5になってから項目の桁数を変更出来るようになりました。
VB以外は分からないので、ここから先に手が付きません。
改行制御が上手く出来ていない投稿で冗長で済みません。
typedef
struct
{char
Calls[21],
Date[9],
//
04/08/20
Time[7],
//
10:20J
Code[7],
Glid[7],
Qsl[4];
//
Qsl, Send, Rcv ここまでで57バイト
WORD
Flag1;
char
Hiss[764];
//
13
char
*Myrs,
//
13
*Freq,
//
17
*Mode,
//
17
*Name,
//
65
*Qth,
//
129
*Rmk1,
//
255
*Rmk2;
//
255
BYTE
HissLen, MyrsLen, FreqLen, ModeLen, NameLen, QthLen, Rmk1Len, Rmk
2Len;}
TQsoBuff;
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: THW_updateについてお教えください
: 145
: 2009/08/10(Mon) 11:19:53
: JA1RNR 吉田康太郎
JO1SIM 出島さん、おはようございます。
同じデータをUpdateではなくAppendで追加するときは、正常に追加できます。
> UpdateQsoDataはByte()で定義して…
>
> bytesData = System.Text.Encoding.GetEncoding(932).GetBytes(u_DataTbl(d))
> ' 932はShift_JISの意味
>
> のようにして、ShiftJISのバイト列に変換してSetThBufferに与えてみてはいかがでし>>ょうか?
試みに、SetThBufferの定義部分の第二引数をバイト配列型に変更して
Dim UpdateQsoData As Byte()
For d As Integer = 0 To 14
UpdateQsoData = System.Text.Encoding.GetEncoding(932).GetBytes(u_DataTbl(d))
SetThBuffer(u_th, UpdateQsoData, d)
Next
としてShiftJISのバイト列に変換してSetThBufferに与えてみとしましたが、結果はstring型の場合と同じで、修正できるデータ項目と修正できないデータ項目はまったく同一でした。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
参照先
:
Re: THW_updateについて
:
144
:
2009/08/10(Mon) 10:48:29
:
JO1SIM 出島
:
Appendがうまくいっているということは、Updateに特有の不具合ということになりますね…。
比較用データがちゃんとコピーされているかどうかを見るには、thとth2の両方をAppendしてみて、th2にコピーがちゃんとされているかをご覧になってはいかがでしょうか?
> th2.Qso = th.Qso ' 修正前のデータを格納
th2 = th ではダメなんでしょうか?(笑)
コピー動作がうまくいっていることを確認するには、th、th2とも完全にクリアしておいたほうがいいと思います。(Space等で埋める)
> ...に対処するのが Hamlog50.DLLとThdll2Vb.dll だと思っていますがまだ解決には至りません。
thdll2bv.dllのソースを見たところ、ThwStringとSetThBufferはHamlog50.dllを呼び出していませんでした。VB2008側の問題であるならですが、本関数を使わずにVBで代わりの操作が必要になるかもしれません。
> Call , Date , Time , His を変更した場合には「データを登録してよろしいですか?」の確認 MessageBox が表示されますが、
> My から Remarks2 のみを変更した場合には確認 MessageBox が表示されません。
> 内容が変更されたと判断されない....??
>
> HAMLOG50.txt の THW_update の説明に
> Th2
> 比較用のTurbo HAMLOGデータアクセス構造体。あらかじめ変更前のTh の内容をコピーしておく...とありますが
> 上手くコピーされていないと言うことなのでしょうか?
>
> th2.Qso = th.Qso ' 修正前のデータを格納
> ....実行後のth2の内容を Call ThwString を使い確認するとOKと思うのですが。
>
> JO1SIM 出島さんの
>
> > SetThBufferに与えるUpdateQsoDataがString型なのですが、受けとる側では const char *のようなので、
> > この辺で不一致が生じているかもしれません。
>
> ...に対処するのが Hamlog50.DLLとThdll2Vb.dll だと思っていますがまだ解決には至りません。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: THW_updateについて
: 143
: 2009/08/10(Mon) 09:10:44
: JA2BQX 太田
Call , Date , Time , His を変更した場合には「データを登録してよろしいですか?」の確認 MessageBox が表示されますが、
My から Remarks2 のみを変更した場合には確認 MessageBox が表示されません。
内容が変更されたと判断されない....??
HAMLOG50.txt の THW_update の説明に
Th2
比較用のTurbo HAMLOGデータアクセス構造体。あらかじめ変更前のTh の内容をコピーしておく...とありますが
上手くコピーされていないと言うことなのでしょうか?
th2.Qso = th.Qso ' 修正前のデータを格納
....実行後のth2の内容を Call ThwString を使い確認するとOKと思うのですが。
JO1SIM 出島さんの
> SetThBufferに与えるUpdateQsoDataがString型なのですが、受けとる側では const char *のようなので、
> この辺で不一致が生じているかもしれません。
...に対処するのが Hamlog50.DLLとThdll2Vb.dll だと思っていますがまだ解決には至りません。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: THW_updateについて
: 142
: 2009/08/10(Mon) 08:44:26
: JA2BQX 太田
みなさんこんにちは。
> 同じデータでUpdateではなくAppendで追加したらどうなるでしょうか?
吉田さんのコードを流用して THW_Append のテストをして見ました。
全項目が反映されたQSOデータが追加されますので SetThBuffer の
使い方に関しては問題無いように思えるのですが、今のところ
THW_update ではHisまでは書き換わりますが、My以降が変わらないです。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
参照先
:
Re: THW_updateについてお教えください
:
141
:
2009/08/10(Mon) 02:48:31
:
JO1SIM 出島
:
補足です…
SetThBufferに与えるUpdateQsoDataがString型なのですが、受けとる側では const char *のようなので、この辺で不一致が生じているかもしれません。
UpdateQsoDataはByte()で定義して…
bytesData = System.Text.Encoding.GetEncoding(932).GetBytes(u_DataTbl(d))
' 932はShift_JISの意味
のようにして、ShiftJISのバイト列に変換してSetThBufferに与えてみてはいかがでしょうか?ただ、これが正しいとなると、読み込み側でも問題が発生していた可能性があるので、上記と逆の作業をしなければならないと思います。(バイト列からStringに変換する)
Stringクラスとバイト列の変換方法は、下記のリンクに乗っていました。
http://dobon.net/vb/dotnet/string/getencoding.html> 吉田さん> みなさんこんにちは。> > VBで開発してないので良くはわかりませんが…> > 同じデータでUpdateではなくAppendで追加したらどうなるでしょうか?> > 問題がUpdateの中にあるのか、それとも更新しようとしているデータに有るのか分かるかもしれません。VB6で動いていて2008だとダメとなると、データの構造の違い等に問題があるような気がしますね。> > VBとしての言語は良く似てても、動かす仕組みはだいぶ違うはずなので…。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
参照先
:
Re: THW_updateについてお教えください
:
140
:
2009/08/10(Mon) 00:45:23
:
JO1SIM 出島
:
吉田さん
みなさんこんにちは。
VBで開発してないので良くはわかりませんが…
同じデータでUpdateではなくAppendで追加したらどうなるでしょうか?
問題がUpdateの中にあるのか、それとも更新しようとしているデータに有るのか分かるかもしれません。VB6で動いていて2008だとダメとなると、データの構造の違い等に問題があるような気がしますね。
VBとしての言語は良く似てても、動かす仕組みはだいぶ違うはずなので…。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: THW_updateについてお教えください
: 139
: 2009/08/09(Sun) 23:05:04
: jr1cpb/稲村
吉田さんのコードをコピーして実行してみました。
同じ症状です。。。。コードをコピーしてるのだから当たり前?ですね。Hi
でも、更新出来るデータと出来ないデータがあるというのが解せないです。
お手上げです。(^。^;)
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: THW_updateについてお教えください
: 138
: 2009/08/09(Sun) 16:35:48
: JA1RNR 吉田康太郎
JA2BQX 太田さん
こんにちは、暑い日が続きます。
> VB2008でテストしていますが吉田さんと同じ症状になり
> まだ解決していません。
同じ症状ですか。解決方法がありましたらご教示いただければ幸いです。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!