RADでダイアログウィンドウを作り、表示させる関数をDLLに入れて、
プログラムからDLLをロード、関数を実行するとダイアログは表示できるのですが、
ダイアログに貼り付けたコントロールのフォントのサイズが大きくなってしまいます。
DLL側
[ここをクリックすると内容が表示されます]
プログラム側
新規作成>プロジェクト>DLL プロシージャライブラリを選択
RADツールで「Modal」というダイアログ テンプレート(モーダル)を作成して
Staticウィンドウなどのコントロールを適当に配置し、
をソースに加える
RADツールで「Modal」というダイアログ テンプレート(モーダル)を作成して
Staticウィンドウなどのコントロールを適当に配置し、
コード: 全て選択
Sub Export OpenDialog(hWnd As HWND)
DialogBox(hWnd, "Modal")
End Sub
[ここをクリックすると内容が表示されます]
タグが上手くいってればいいのですが・・・
新規作成>プロジェクト>EXE ノーマルウィンドウベースを選択
MainWndにボタン(CommandButton1)を配置し、
をソースに加える
MainWndにボタン(CommandButton1)を配置し、
コード: 全て選択
Sub MainWnd_CommandButton1_Click()
Dim hInst As HINSTANCE 'DLLのインスタンスハンドル
Dim DllFunc As *Sub(hWnd As HWND) '関数ポインタ
'DLLをロード(DLL_PATHはDLLのフルパスを格納したBytePtr)
hInst=LoadLibrary(DLL_PATH)
'関数ポインタを取得
DllFunc=GetProcAddress(hInst, "OpenDialog") As *Sub
'関数を実行
DllFunc(hMainWnd)
'DLLを解放
FreeLibrary(hInst)
End Sub
それぞれコンパイルして、実行するとフォントのサイズが変わってしまいます。
DLLの明示的読み込み以外は変なことをしていないのでバグだと思い、投稿しました。
なお、暗黙的読み込みにしても同様の現象が発生しました。
ちなみに環境は
AB4.21、AB4.24、AB5CP3+XP Pro
AB4.24+XP Home
です。
できればAB4もこれの修正版を公開してほしいのですが、
すでにAB5がリリースされているので無理でしょうか?