Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.08.2012, 14:13   #1
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию Импорт из DLL - передача строки

Доброго времени суток!
Возникла проблема с вызовом библиотечной функции из программы на C#, точнее, с передачей строки в её параметры.
Вот описание функции на pascal:
Код:
function SQUALL_Sample_LoadFile(FileName: PAnsiChar;MemFlag: Integer; Default: psquall_sample_default_t): Integer; cdecl; external 'squall.dll';
Вот импорт на C#:
Код:
        [DllImport("Squall.dll", CharSet=CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
        public static extern int SQUALL_Sample_LoadFile(string fileName, int memFlag, long defaultN);
При вызове возвращаемое значение ошибочное. Некоторые другие функции работают, но в них нет строковых параметров, так что предполагаю что дело именно в маршаллинге строки...
Был еще вот такой нагугленный вариант, но тоже не работает:
Код:
public static extern int SQUALL_Sample_LoadFile([MarshalAs(UnmanagedType.LPStr)]string fileName, int memFlag, long defaultN);
Помогите, пожалуйста, кто сталкивался...

p.s.
Код:
psquall_sample_default_t = ^squall_sample_default_t; //тип параметра - обычный указатель, передаю его как ноль
Изобретатель велосипедов

Последний раз редактировалось Selestis; 13.08.2012 в 14:27.
Selestis вне форума Ответить с цитированием
Старый 13.08.2012, 19:08   #2
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Пардон, нашел ошибку, тему можно закрывать.
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DLL на Delphi импорт в C++ RuVarez Общие вопросы Delphi 5 26.09.2011 12:46
Импорт типа из DLL kettanaito Общие вопросы Delphi 3 22.09.2011 20:03
Импорт из С dll на Дельфи apromix Помощь студентам 19 17.11.2009 21:07
С++: правильный импорт dll apromix Помощь студентам 1 04.10.2009 02:28
Импорт VB6 DLL в C++ DmF Общие вопросы C/C++ 1 06.03.2008 08:48