如何在德尔福做一个客观的“免费电话桥”?

时间:2015-11-08 13:17:48

标签: objective-c macos delphi

如何在Delphi中建立一个客观的C免费电话桥?

e.g。我有一个CFDictionaryRef并且我想将它用作NSDictionary,我只是做一个包装来将它从CF *实例转换为NS *实例吗?

我可以通过

从NS转换为CF.
var
  cfvariable CF*;
  nsvariable: NS*;
begin
  ...
  cfvariable :=  (nsvariable as ILocalObject).GetObjectID

但另一种方式似乎有时会引起我的问​​题 - 即有时候它有时会崩溃。所以想知道我是以正确的方式做到这一点还是问题是在其他地方,例如对于NSDictionary的CFDictionaryRef我做

var
  attr : CFDictionaryRef;
  nattr: NSDictionary;   
begin
   ...
  attr := CFDictionaryCreate(...);

  nattr := TNSDictionary.Wrap(attr);

这是正确的方法吗?

(OSX上的Delphi XE6应用程序)

更新:这似乎是正确的方法,问题出在其他地方。我会把它留在这里以防任何其他人需要知道,因为它没有记录好。

0 个答案:

没有答案