【发布时间】:2013-05-07 02:00:20
【问题描述】:
如何转换? (目标 C 类 -> Delphi XE4)
以及如何在 Delphi XE 的静态库中使用 Objective-C 类?
以下是我的第一次试用。 但它会出错。
Objective C 源代码
// objective C : test.h ----------------------------------------
@interface objc_test : NSObject {
BOOL busy;
}
- (int) test :(int) value;
@end
// objective C : test.m ----------------------------------------
@implementation objc_test
- (int) test :(int) value {
busy = true;
return( value + 1);
}
@end
这是我的转换代码错误。 如何解决?
德尔福源码
// Delphi XE4 / iOS -------------------------------------------
{$L test.a} // ObjC Static Library
type
objc_test = interface (NSObject)
function test(value : integer) : integer; cdecl;
end;
Tobjc_test = class(TOCLocal)
Public
function GetObjectiveCClass : PTypeInfo; override;
function test(value : integer): integer; cdecl;
end;
implmentation
function Tobjc_test.GetObjectiveCClass : PTypeInfo;
begin
Result := TypeInfo(objc_test);
end;
function Tobjc_test.test(value : integer): integer;
begin
// ????????
//
end;
谢谢
西蒙,崔
【问题讨论】:
-
您似乎在 obj-c 和 pascal 中都实现了该功能。难道你不想在obj-c中实现并在pascal中消费吗?
-
更重要的是,我确信编译器所做的不仅仅是“制造错误”。编译器努力描述错误。为什么你不能努力告诉我们它说了什么?
标签: delphi class type-conversion static-libraries firemonkey