在Delphi 10 Seattle中,使用JVCL 3.48,在实现TJvAppXMLFileStorage
OnGetFileName
事件处理程序之后,它永远不会被执行:
procedure TForm1.JvAppXMLFileStorage1GetFileName(Sender:
TJvCustomAppStorage; var FileName: TFileName);
begin
// never gets executed!
CodeSite.Send('JvAppXMLFileStorage1GetFileName', FileName.ToString);
end;
我需要此事件根据其他设置设置JvAppXMLFileStorage1.Location
属性var FileName
参数。
那么如何才能执行此事件?
答案 0 :(得分:1)
快速查看 JvAppStorage.pas 似乎表明,调用DoGetFileName
的唯一地方(如果分配了OnGetFileName
,则会触发TJvCustomAppMemoryFileStorage.RecalculateFullFileName
) DoGetFileName
。查看该方法,case Location of
仅从flCustom
的{{1}}分支调用。
这似乎表明只有在和分配了Location
为flCustom
的情况下才会触发该事件。