Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.12;
Скачать: CL | DM;

Вниз

Как в VB6 вызвать функцию из библиотеки C++   Найти похожие ветки 

 
ms   (2004-11-21 13:39) [0]

Скажите пожалуйста, мне нужно вызвать функцию из библиотеки написанной на VС++ .NET . Как я могу это сделать, если функция имеет такой прототип: char* cyrlat_conv(const char* src);

P.S. Не скупитесь на слова


 
DrPass ©   (2004-11-21 13:48) [1]

Я, конечно, не спец в .NET-программировании, но...
Из .NET-среды можно вызывать функции DLL на неуправляемом коде через System.Runtime.InteropServices.DllImport. А вот обратный процесс - управляемый код из неуправляемого, ИМХО, утопия


 
ms   (2004-11-21 14:13) [2]

DrPass ©   (21.11.04 13:48) [1]

А причем здесь .NET среда? VB6 это не .NET


 
DrPass ©   (2004-11-21 14:23) [3]

Зато VС++.NET - .NET


 
ms   (2004-11-21 14:38) [4]

Ну ладно скажите тогда вот чего:
в с++ она объявлена так:
char* myFunc();
в vb я объявляю ее вот так:
Private Declare Function MyFunc Lib _
"F:\RNLib.dll" Alias "myFunc" () As Long
и вызываю:
msgbox MyFunc
и она мне прекрасно возвращает указатель на нуль-строку.
А вот если я обьявляю в с++ так:
char* cyrlat_conv(const char* src);
в vb объявляю ее так:
Private Declare Function CyrLatConv Lib "F:\RNLib.dll" Alias "cyrlat_conv" (ByVal src As Long) As Long
и вызываю:
Dim str2convert As String
str2convert = "Привет"
MsgBox CyrLatConv(StrPtr(StrConv(str2convert, vbFromUnicode)))
то она выдает мне вот такую ошибку:
Run-time error "49"
Bad DLL calling convention



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

Текущий архив: 2004.12.12;
Скачать: CL | DM;

Наверх




Память: 0.44 MB
Время: 0.038 c
3-1100517366
Domkrat
2004-11-15 14:16
2004.12.12
Sql


4-1098802794
Mirror
2004-10-26 18:59
2004.12.12
Как воспользоватся функцией из dll


14-1101323625
NetAnton
2004-11-24 22:13
2004.12.12
Compact Rus


4-1098852242
Dima
2004-10-27 08:44
2004.12.12
Доступ к портам ХР


1-1101634029
AdmeraL.
2004-11-28 12:27
2004.12.12
Dialogs





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский