Wie wird konvertiert? (Objective C-Klasse -> Delphi XE4)XE4 (Firemonkey + iOS Static Library), Pascal-Konvertierung von Objective C-Klasse?
und Wie Objective-C-Klasse in der statischen Bibliothek von Delphi XE zu verwenden?
Folgendes ist der erste Versuch. Aber es macht Fehler.
Objective C Quelle
// 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
hier falsch ist meine Conversion-Code. Wie behebt man das?
Delphi Quelle
// 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;
Dank
Simon, Choi
Sie erscheinen sowohl die Funktion in obj-c zu implementieren und pascal. Willst du nicht in Obj-c implementieren und konsumieren in Pascal? –
Ich bin mir sicher, dass der Compiler mehr als "Fehler machen" macht. Der Compiler bemüht sich, den Fehler zu beschreiben. Warum können Sie sich nicht die Mühe machen, uns zu sagen, was es sagt? –