在 DLL 中怎么修改 Form.Font

iamduo iamduo 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
// dll
procedure test(AForm:TForm);stdcall;export;
begin
AForm.Caption := 'test';
ShowMessage('1');
AForm.Font.Charset := GB2312_CHARSET;
AForm.Font.Name := '宋体';
ShowMessage('2');
AForm.Font.Size := 9; // 这里出错

end;


// exe
procedure TForm1.Button1Click(Sender: TObject);
var
hh:THandle;
proc:procedure (AForm:TForm);stdcall;
begin
hh := LoadLibrary('D:\DuoEditor\Bin\Form.dll');
@proc := GetProcAddress(hh,'test');
proc(Self);
FreeLibrary(hh);
end;

请问谁知道,怎么处理?
奇怪的是 AForm.Font.Name 都修改成功了。
为什么 size 不行?
不用 ShareMM。
...全文
评论 6
收藏 已收藏
分享
返回顶部
iamduo
Delphi 5,944 成员 262,941 内容