在Delphi FMX如何調用德爾福FMX工廠方法從C++ Builder中
TStyledPresentation = class(TStyledControl)
方法定義爲:
function GetModel<T: TDataModel>: T;
和C++ HPP文件:
template<typename T> T __fastcall GetModel(void);
Implimented如:
function TStyledPresentation.GetModel<T>: T;
begin
Result := FModel as T;
end;
當重寫後,允許它在TEDIT做如下返回定製型號:
function TCustomEdit.GetModel: TCustomEditModel;
begin
Result := GetModel<TCustomEditModel>;
end;
我有超過C++ Builder中纏身這在我的.h文件:
HIDESBASE TAltorFMXEditModel* __fastcall GetModel(void)/* overload */;
而且Implimented它在.cpp文件中爲:
TAltorFMXEditModel * __fastcall TAltorFMXEdit::GetModel(void)
{
return GetModel<TAltorFMXEditModel>;
}
但是,這並不構建或工作。
有人可以告訴我如何從C++ Builder中正確調用Delphi工廠方法嗎?
如果它*沒有構建*,那麼顯然它不會工作,並且您收到錯誤消息。那個錯誤信息是什麼?它出現在你面前的屏幕上,你絕對沒有理由不把它包含在你的文章中,所以我們也有這些信息。 –