Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2009.12.27;
Скачать: [xml.tar.bz2];

Вниз

импорт библиотеки скомпилиной под VS 6.0   Найти похожие ветки 

 
Антон.Киев   (2009-01-09 19:43) [0]

Доброго времени суток!

Проблема заключается в том, что в библиотечной функции которую я пытаюсь импортировать, один из входных параметров имеет тип std::string. Какой эквивалент задать ему в делфи? PChar  не подошёл. Вобщем всё что не пробовал валит приложение после вызова этой функции. Спасибо за помощь.


 
Сергей М. ©   (2009-01-09 20:27) [1]

А отладчик на что ?


 
Сергей М. ©   (2009-01-09 20:58) [2]

А отладчик на что ?


 
Антон.Киев   (2009-01-09 21:27) [3]

К сожалению директивы ассемблера и стандартный Access Violation мне ничего не говорят. Я думаю, что я неверно задаю тип параметра при импорте функции. В документации у него тип std:string. Какой тип использовать в Делфи?


 
Сергей М. ©   (2009-01-09 22:01) [4]


> директивы ассемблера и стандартный Access Violation мне
> ничего не говорят


Это печально.
Пока они не заговорят, врял ли что-то путное получится.


> Какой тип использовать в Делфи?


Зачем же ты сишный string экспортируешь ?
Экспортируй указатель на char - ему в Делфи при импорте соответствует PChar


 
Антон.Киев   (2009-01-09 22:10) [5]

Та не экспортирую я сишный. Ставил я PChar при импорте. Всё-равно валится приложение. Так вот этот сишный string - это же объект с кучей функций, я веду к тому, что это не просто массив чаров. Значит памяти он требует больше чем PChar. Ну и к тому же внутри импортируемой функции могут использоваться некоторые методы этого std::string. И если я туда отдам просто PChar запросто вылезет Access Violation. На пока я вижу только один вариант: написать на сях dll в ней сделать импорт нужной функции, а экспортировать обёртку с нормальными входными параметрами типа char*. Вот. Но думалось что есть вариант попроще.


 
Сергей М. ©   (2009-01-09 22:18) [6]


> этот сишный string - это же объект с кучей функций


Заметь  - шный объект.
Спрашивается, откуда в Делфи возьмутся сишные объекты ?


> написать на сях dll в ней сделать импорт нужной функции,
>  а экспортировать обёртку с нормальными входными параметрами
> типа char*. Вот


Вот !
Так и следует поступить.


 
KSergey ©   (2009-01-11 11:17) [7]

у сишников и дельфистов одно на уме: кроме них ничего не свете не бывает...


 
KSergey ©   (2009-01-11 11:18) [8]

а модификация исходников на С++ возможна? как-то слабо верится, что такое может быть в сколь-нибудь распространенном продукте, хоят всякое бывает, конечно...


 
Антон.Киев   (2009-01-11 20:49) [9]


> у сишников и дельфистов одно на уме: кроме них ничего не
> свете не бывает...


Не понял к чему это )


> а модификация исходников на С++ возможна? как-то слабо верится,
>  что такое может быть в сколь-нибудь распространенном продукте,
>  хоят всякое бывает, конечно...


Нет исходников есть только билды (


 
KSergey ©   (2009-01-11 21:19) [10]

> Антон.Киев   (11.01.09 20:49) [9]
> > у сишников и дельфистов одно на уме: кроме них ничего не
> > свете не бывает...
> Не понял к чему это )

К тому, что видел много раз сделанные в дельфи dll с торчащими наружу строками (обычными, дельфийскими), а то и вовсе компонентами.
Ну а тут, значится, и сишники такие же больные попались.

> Нет исходников есть только билды (

Тогда только прокси-dll поможет, как и говорилось выше.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2009.12.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
8-1172599000
shart
2007-02-27 20:56
2009.12.27
Удаление шума на изображении


2-1256271770
Delphi2020
2009-10-23 08:22
2009.12.27
Проблема с сохранением Raw в exe


15-1256481374
berlios
2009-10-25 17:36
2009.12.27
Треугольник


8-1201295650
kblc
2008-01-26 00:14
2009.12.27
GDI+ и изображения


2-1257500615
1234567890
2009-11-06 12:43
2009.12.27
AddObject





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский