Forth
http://fforum.winglion.ru/

Подключение spf.dll к C#
http://fforum.winglion.ru/viewtopic.php?f=18&t=2834
Страница 1 из 1

Автор:  incubus370 [ Сб апр 07, 2012 15:05 ]
Заголовок сообщения:  Подключение spf.dll к C#

Возникла проблема при подключении spf.dll к C#

Код:
        [DllImport("spf.dll", CharSet = CharSet.Ansi)]
        public static extern int SPFSCRIPT(int Length, string cmdl);


где SPFSCRIPT(int Length, string cmdl) процедура которая принимает количество символов и строку для компиляции/выполнения

При вызове этого метода мне выдается ошибка Не удается загрузить DLL "spf.dll": Неверная попытка доступа к адресу памяти. (Исключение из HRESULT: 0x800703E6)

spf.dll от Ketmar рабочая

PS. Постарался изложить все как можно точнее

Автор:  Antender [ Сб апр 07, 2012 15:54 ]
Заголовок сообщения:  Re: Подключение spf.dll к C#

Укажите в описании функции EntryPoint или CallingConvention.

Автор:  incubus370 [ Вс апр 08, 2012 19:39 ]
Заголовок сообщения:  Re: Подключение spf.dll к C#

Antender писал(а):
Укажите в описании функции EntryPoint или CallingConvention.

Не помогло

Может кто пробовал такое делать и примерчик может показать?

Автор:  Antender [ Вс апр 08, 2012 21:16 ]
Заголовок сообщения:  Re: Подключение spf.dll к C#

SPF нестандартное соглашение вызова использует. Не получится.

Автор:  rvm [ Ср апр 11, 2012 04:18 ]
Заголовок сообщения:  Re: Подключение spf.dll к C#

Antender писал(а):
SPF нестандартное соглашение вызова использует. Не получится.

Что значит "нестандартное соглашение"? Для экспортируемых функций используется то, что прописано. В частности, через "CALLBACK:" создается обертка для вызова по StdCall.

Автор:  rvm [ Ср апр 11, 2012 04:28 ]
Заголовок сообщения:  Re: Подключение spf.dll к C#

incubus370 писал(а):
Может кто пробовал такое делать и примерчик может показать?

DLL, собранная через ~pinka/lib/tools/sample/exe2dll3.f нормально работает из C#. Недостаток: это только пример и прототип сборки DLL из SPF/4, поэтому все руками.

Также см. пример ~ygrek/prog/farplugin/

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/