すでにうまくいっているよう時に、前に戻りますが、
sd := HamlogOpen(nil, Th, buffs, 0);
でいいのではないでしょうか。
ただし、buffsが255文字なのでこれを超えるファイル名になると
エラーが出ると思います。
> Pascal 講座みたくなってしまいましたが、もう一つ教えて下さい。
>
> function HamlogOpen(Func: Pointer; var Th: TThLog; const fname: PChar; const isComp: Integer): Integer;
>
> Hamlog.hdb のパスは PChar で与えるとなっています。
> そこで hamlog_hdb_path:= 'C:\Hamlog\Hamlog.hdb'; の時に
>
> var
> buffs: array [0..255] of Char;
>
> Begin
> StrPCopy(buffs,hamlog_hdb_path);
>
> sd := HamlogOpen(nil, Th, @buffs[0], 0); ...としても転送されません。
>
> Hamlog.hdb のパスを直接 sd := HamlogOpen(nil,Th, 'C:\Hamlog\Hamlog.hdb', 0); とするのでは無くて
> 変数で指定するにはどう書けば良いのでしょうか?