Название: Возврат значения из DLL Отправлено: freestyler от Октябрь 17, 2011, 19:52 Microsoft Visual Studio 2010.
Есть DLL на C++. Формочка на VB.NET DLL: __declspec(dllexport) char RETURN() { char a='R'; return a; } форма: Declare Auto Function RETURN Lib "RETURN.dll" () As Char Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Static L As Char L = CreatePrinter() Me.Label1.Text = L End Sub При нажатии на кнопку Button1 на Label1 выводится не "R", а иероглиф. Именно иероглиф. Не похож на "несоответствие кодировок", однако не исключаю такой возможности. Что выводится приложил рисунком. Ай нид хелп! :) Спасибо!! Название: Re: Возврат значения из DLL Отправлено: Nimbus от Октябрь 18, 2011, 04:20 >L = CreatePrinter()
>Me.Label1.Text = L И где же вызов RETURN ??? Или я в VB не шарю совсем?:) А насчёт кодировок... Ты собирал проект DLL в unicode-кодировке? Потому что в .net ЕМНИП всё символы в юникоде. И ещё попробуй всё-таки получить из функции Byte. Потому что в си нет различия между числовыми литералами и символьными. Если вернёт 82 (ascii-код символа R), то всё ок. Надо будет написать L = Chr(RETURN()) |