太田さん
ヒントありがとうございます。
TQsoBuffのHis以降は実体ではなくてポインタが格納されていることになっているようですね。となると、u_th2にコピーしたのはu_thの中身ではなく、ポインタをコピーしていることになり、事実上、変更後のデータの参照先を一緒にコピーしていることになります。
THW_readの中身がわからないのでちょっと不安ですが…
rd = THW_read(u_th, u_Rno, 0)
rd = THW_read(u_th2, u_Rno, 0)
という風に変数間のコピーではなく、2回呼び出してみてはいかがでしょうか?
> こんにちは。
>
> > 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;