2010-08-12 2 views
-1

Сложность Delphi часто использует * .Dll, когда специальная доставка кодовой информации требуется для редактора/редактора: - example bourland.dll - менеджер памяти для complier Delphi, насколько я помню. И их много других * .dll, которые Embarcoo скрывают, что делают другие вещи. Это их все, что вы знаете, что является общедоступной информацией по этому вопросу.Подключение Delphi к P/Invoke и .net

. Неисправленный код .net может быть объявлен в файле * .pas как замедление, но единственный способ сообщить об этом - вызывать * .dll как P/Invoke

У меня есть ilasm.exe и ildasm.exe и декомпрессор в код asm в Delphi, но все еще можно узнать, как их использовать.

У меня нет каких-либо справочных материалов/передовиц о P/invoke вообще, поскольку я ничего не могу найти. У меня будет хороший конкретный план, чтобы сделать хороший результат. Я не знаю, что * .DLL находятся в P/Invoke. У вас есть документация.

У меня нет справочного материала/передовиц на ADO.net. Вызываемые Dll и любой ссылочный макс, который я мог бы использовать.

С уважением, J Lex Dean.

+0

complier и bourland были ударами по скорости, я просто сдался при торможениях. –

+5

Лекс, за последние шесть недель вы отправили по крайней мере семь разных вопросов, по крайней мере из четырех разных учетных записей, которые все спрашивают * что-то об использовании .Net и Delphi вместе. Вы продолжаете спрашивать, поэтому, я думаю, вы еще не получили хорошего ответа. Это потому, что вам еще нужно задать единый вопрос. Вам нужна другая стратегия. Будьте конкретными * о том, что вы хотите. Перестаньте говорить в общих чертах и ​​опубликуйте, какой именно код .Net вы хотите запускать из своей программы Delphi. У вас явно проблемы с английским, поэтому попробуйте заполнить пробелы, используя вместо этого * code *. –

ответ

0

Я согласен с Робом Кеннеди, ваш вопрос не имеет специфики. Тем не менее, я пролью некоторый свет на P/Invoke и темы, которые вы упомянули, надеюсь, это может помочь вам более точно задать вопрос.

В первую очередь, нет "секретных" DLL-экранов, которые Embarcadero использует. Диспетчер памяти BorlndMM.DLL - это распространяемая DLL-библиотека, которую вы можете включить в свои приложения (в некоторых особых случаях). Остальные библиотеки DLL - это просто библиотеки, необходимые для работы IDE, они не секретны, просто настроены специально для их задачи и не играют никакой роли в жизни вашего приложения (на самом деле, обычная программа, скомпилированная в Delphi, должна запускаться где угодно, без необходимости устанавливать любые распространяемые пакеты).

Во-вторых, P/Invoke - это вызов, выполняемый из управляемой среды в нативный, а не в противоположном направлении. Обычный сценарий выглядит так: у вас есть кусок кода, который нужно запускать очень быстро. Вы пишете собственную библиотеку DLL - в Delphi, C++ или на любом другом языке. Затем вы можете вызвать собственные функции внутри DLL из управляемого кода - скажем, C#.

Библиотеки динамических ссылок (DLL) не являются волшебными, это просто контейнеры для скомпилированного фрагмента кода, которые могут быть повторно использованы во многих приложениях. Обратите внимание, что большинство подпрограмм WinAPI заключены внутри нескольких DLL (например, User32.dll).

Постарайтесь узнать больше о библиотеках DLL, это облегчит понимание P/invoke.

Смежные вопросы