is
- тестирование идентичности, ==
- проверка равенства. что происходит в вашем коде, будет эмулироваться в интерпретаторе следующим образом:
>>> a = 'pub'
>>> b = ''.join(['p', 'u', 'b'])
>>> a == b
True
>>> a is b
False
, так что неудивительно, что они не совпадают, правда?
Другими словами: is
является id(a) == id(b)
Если Вы хотите Delphi определенная статья о выполнении этого:
Используя блок.NET через COM Jim McKeeth
Это является довольно прямым, после того как у Вас есть все шаги.
Уверенный Вы можете. Просто необходимо сказать это, какие части кода должны быть доступными тот путь. Можно сделать это через ComVisibleAttribute. Самая быстрая фиксация помещает [assembly:ComVisible (Верный)] в Вашем .dpk, который обнародовал все видимое. Затем можно использовать метод, Вы пытались импортировать блок.
можно также сделать неуправляемый экспорт, который можно назвать как регулярные dll файлы.
Я не думаю, что можно сделать это, непосредственно смешав управляемый и неуправляемый код в то же приложение.
Однако RemObjects имеют платформу, названную Гидра , который позволяет Вам использовать .NET и Win32 в том же приложении.
CrossTalk от Atozed Software позволяет использовать сборки .NET из Delphi без использования COM, без регистрации DLL и может использовать оригинальные сборки без изменений.