2017-02-27 57 views
0

我需要調用FMX.Types中定義的Log.d。但是我的項目不是Firemonkey項目,而是一個VCL項目。它編譯和按預期工作,但我收到這樣的警告:如何在VCL項目中包含FMX.Types

[dcc64提示] H2161警告:重複的資源:類型12(CURSOR GROUP),ID 32761;文件c:\ program files (x86)\ embarcadero \ studio \ 18.0 \ lib \ Win64 \ release \ FMX.Controls.Win.res 資源保存;文件c:\ program files (x86)\ embarcadero \ studio \ 18.0 \ lib \ Win64 \ release \ Controls.res資源 丟棄。

是他們的任何全局定義,可能表明該項目是一個VCL項目,這樣我可以省略在VCL項目上使用FMX.Types和Log.d

+0

問題是什麼。你想檢測該項目是FMX嗎?或者你想將FMX單元包含在VCL項目中?你似乎問兩個。請只問一個問題。 –

+0

任何論文!因爲它們都是我的問題的解決方案。因此檢測到項目是FMX(從項目中排除fmx單元) - 或者 - 在vcl項目中包含fmx單元的任何方式 – Vyacheslav

+1

請選擇一個。你不能在一個問題中提出兩個問題。爲了幫助您挑選一個,我可以告訴您,沒有條件將項目標識爲FMX。 –

回答

2

要對我的評論擴充一點,您可以通過簡單地「醞釀自己的」Log.d等價物來避開整個問題。 Log.d呼籲OutputDebugString在Windows上,這樣你就可以建立大意如下的東西並離開FMX.Types輔助單元完全的方程,並完全避免的問題:

uses Windows; 

procedure Log(const Msg: string; const Args: array of const); overload; 
var 
    LMsg: string; 
begin 
    LMsg := Format(Msg, Args); 
    OutputDebugString(PChar(LMsg)); 
end; 

procedure Log(const Msg: string); overload; 
begin 
    OutputDebugString(PChar(Msg)); 
end; 
相關問題