新着表示
タイトル
記事No
投稿日
投稿者
: Re: HAMLOGOPENで ファイルがオープンできませんエラー
: 1075
: 2024/08/06(Tue) 15:10:42
: JK1NBV 倉部
浜田様
コメントありがとうございます。
いただいた内容で、変数宣言を変更すると、
E2010 'PWideChar'と'PAnsiChar'には互換性がありません。
のエラーが、HAMLOGOPENの行で出力されるようになりました。
> 訂正します。
>
> dbpath: string;
> Pdbpath: PChar;
>
> ではなくて、
>
> dbpath: AnsiString;
> Pdbpath: PAnsiChar;
>
> としてみたらいかがでしょうか?
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: HAMLOGOPENで ファイルがオープンできませんエラー
: 1074
: 2024/08/06(Tue) 09:12:45
: JG1MOU浜田
訂正します。
dbpath: string;
Pdbpath: PChar;
ではなくて、
dbpath: AnsiString;
Pdbpath: PAnsiChar;
としてみたらいかがでしょうか?
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: HAMLOGOPENで ファイルがオープンできませんエラー
: 1073
: 2024/08/06(Tue) 07:19:30
: JG1MOU浜田
dbpath: string;
ではなくて、
dbpath: AnsiString;
ではいかがでしょうか?
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: HAMLOGOPENで ファイルがオープンできませんエラー
: 1072
: 2024/08/05(Mon) 20:16:51
: JK1NBV 倉部
長野様
確認ありがとうございます。
先頭の1文字しかよまれていないということですね。
この相談室で、HAMLOGOPENのファイル名を変数にするにはという質問をみつけて、おなじようにしたのですが、だめでした。
そこで、投稿してみたしだいです。
1バイトであるべきものが、2バイトでコピーされているとかあるのでしょうかね。
もう少し、試してみます。
> こんにちは。
> こちらでソースをコピーして試してみました。
> 同じエラーでした。
>
> HamlogOpenでファイル名をPdbpath(Pchar)で渡していますが、最初の一文字しか読んでいないような反応です。
>
>
> > JK1NBVです。
> >
> > Delphiは、初心者です。プログラマー歴40年、
> > 言語は、Z80、Mesa、Perl、C、Java、Lisp, Python等、色々使用しています。
> > Pythonではアクセスできないというので、Delphiに挑戦しています。
> >
> > HAMLOGOPENでエラー ファイルがオープンできません。C.MSTが表示されます。
> >
> > コードは、以下です。
> > Delphi 12.1 CE版です。
> > OS: Windows 11 Pro
> > 解決のヒントを頂ければと思います。
> > よろしくお願いいたします。
> >
> >
> >
> >
> > program Test1;
> >
> > {$APPTYPE CONSOLE}
> >
> > {$R *.res}
> >
> > uses
> > System.SysUtils, Hamlog50;
> > var
> > version: integer;
> > retF: Integer;
> > tth: TThLog;
> > dbpath: string;
> > Pdbpath: PChar;
> >
> > begin
> >
> > dbPath:= 'C:\HAMLOG\HAMLOG.hdb';
> >
> > WriteLn('StrCopy');
> > GetMem(Pdbpath, length(dbpath)+1);
> > StrPCopy(Pdbpath, dbpath);
> >
> > WriteLn('Open');
> > retF := HamlogOpen(nil, tth, Pdbpath, 0);
> > WriteLn('リターン値:' + IntToStr(retf));
> > if (retf <> SUCCESS) then Exit;
> >
> > end.
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: HAMLOGOPENで ファイルがオープンできませんエラー
: 1071
: 2024/08/05(Mon) 13:41:31
: je6lao長野
こんにちは。
こちらでソースをコピーして試してみました。
同じエラーでした。
HamlogOpenでファイル名をPdbpath(Pchar)で渡していますが、最初の一文字しか読んでいないような反応です。
> JK1NBVです。
>
> Delphiは、初心者です。プログラマー歴40年、
> 言語は、Z80、Mesa、Perl、C、Java、Lisp, Python等、色々使用しています。
> Pythonではアクセスできないというので、Delphiに挑戦しています。
>
> HAMLOGOPENでエラー ファイルがオープンできません。C.MSTが表示されます。
>
> コードは、以下です。
> Delphi 12.1 CE版です。
> OS: Windows 11 Pro
> 解決のヒントを頂ければと思います。
> よろしくお願いいたします。
>
>
>
>
> program Test1;
>
> {$APPTYPE CONSOLE}
>
> {$R *.res}
>
> uses
> System.SysUtils, Hamlog50;
> var
> version: integer;
> retF: Integer;
> tth: TThLog;
> dbpath: string;
> Pdbpath: PChar;
>
> begin
>
> dbPath:= 'C:\HAMLOG\HAMLOG.hdb';
>
> WriteLn('StrCopy');
> GetMem(Pdbpath, length(dbpath)+1);
> StrPCopy(Pdbpath, dbpath);
>
> WriteLn('Open');
> retF := HamlogOpen(nil, tth, Pdbpath, 0);
> WriteLn('リターン値:' + IntToStr(retf));
> if (retf <> SUCCESS) then Exit;
>
> end.
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: HAMLOGOPENで ファイルがオープンできませんエラー
: 1070
: 2024/08/05(Mon) 08:43:34
: JK1NBV 倉部
JK1NBVです。
Delphiは、初心者です。プログラマー歴40年、
言語は、Z80、Mesa、Perl、C、Java、Lisp, Python等、色々使用しています。
Pythonではアクセスできないというので、Delphiに挑戦しています。
HAMLOGOPENでエラー ファイルがオープンできません。C.MSTが表示されます。
コードは、以下です。
Delphi 12.1 CE版です。
OS: Windows 11 Pro
解決のヒントを頂ければと思います。
よろしくお願いいたします。
program Test1;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils, Hamlog50;
{$IFDEF MSWINDOWS}
{$ENDIF}
var
version: integer;
//DB Handle
//dbH: TDBFh;
//リターンフラグ
retF: Integer;
tth: TThLog;
dbpath: string;
Pdbpath: PChar;
begin
dbPath:= 'C:\HAMLOG\HAMLOG.hdb';
Writeln('PG: 4');
version := GetThdllVersion();
Writeln(IntToHex(version,6));
WriteLn('StrCopy');
GetMem(Pdbpath, length(dbpath)+1);
StrPCopy(Pdbpath, dbpath);
WriteLn('Open');
retF := HamlogOpen(nil, tth, Pdbpath, 0);
WriteLn('リターン値:' + IntToStr(retf));
if (retf <> SUCCESS) then Exit;
retF:=THW_read(ttH, 1, 0);
WriteLn('リターン値:' + IntToStr(retf));
if (retf <> SUCCESS) then
begin
HamlogClose(tth, 0);
Exit;
end;
WriteLn('Call Sign: ' + tth.qso.Calls);
HamlogClose(tth, 0);
end.
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: PythonからHamlog50.dllを呼び出せますか?
: 1069
: 2024/05/24(Fri) 15:47:58
: JA9AOB 銅子
> はじめまして
>
> Pythonから、Hamlog50.dllを呼び出すことは可能でしょうか?
>
> 単純にPythonのCDLLで呼び出すと、
> OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
> のメッセージが出力されます。
> Pythonのバージョンは、3.11.2
>
>
> Borland のDLLだから、NGということなのでしょうか?
> Webを探しても、PythonからBorlandのDLLを呼び出す例はほとんどありません。
私は Python を使っていません C#を使っています
DLLはBorlandだからと言う事ではなくて、呼び出し時の引数渡しにスタックで渡しますがこの渡し方が言語によって異なる事が原因だと思います。C#でHamlog50.dll を呼び出す場合でもこの違いで苦労しました。
C/C++ DLL with ctypes に該当すると思いますので 良く調べて下さい
Webでは 次の情報が見受けられます
C++ クラス DLL は直接呼び出せないので、C++ クラス DLL を呼び出したければ ラッパー用の C DLL を用意する。
C DLL は呼び出し規約に応じて、 __cdecl なら cdll、 __stdcall なら windll を用いる。
とあります どのタイプが良いのかは テストで確かめるしかなさそうですが。
その他に
Python と DLL のアーキテクチャを合わせる。Python が x64 版なら DLL も x64、Python が x86 なら DLL も x86 でないと呼び出せません。
等も見られます。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: PythonからHamlog50.dllを呼び出せますか?
: 1068
: 2024/05/22(Wed) 08:56:19
: JK1NBV 倉部
はじめまして
Pythonから、Hamlog50.dllを呼び出すことは可能でしょうか?
単純にPythonのCDLLで呼び出すと、
OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
のメッセージが出力されます。
Pythonのバージョンは、3.11.2
Borland のDLLだから、NGということなのでしょうか?
Webを探しても、PythonからBorlandのDLLを呼び出す例はほとんどありません。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: HAHamlog50.dll の仕様が変わりましたか
: 1066
: 2024/01/18(Thu) 16:53:09
: JM6CIP
おそらく同じような現象だとは思いますが、
「HAMLOG50.DLLのバージョンが一致しません」とメッセージが出て開くことができません。
Ver5.35aを使っていて、その後5.37cの時に同じ症状が出ていたので、もとに戻したのですが、NEW JCCなど出てきたのでVerを上げたいのですが、どのようすればよいものかと・・・。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
タイトル
記事No
投稿日
投稿者
: Re: MakeIndex で作成したインデックスファイルで検索・照合
: 1065
: 2024/01/16(Tue) 18:55:02
: JA2BQX 太田
こんばんは。ありがとうございます。
> "CALLS" だけで十分では? つまり、現状のHAMLOGデータを開くだけ。
CALLS だけの検索が早いので、その後に Band + Mode が等しければの
処理をすると言うことですね。
試して見ます。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!