blackmac

Вызов dll не работает

06.04.2010, 18:09. Показов 913. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
соответственно вот код на C
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include 'stdafx.h'
#include <stdio.h>
#define TRANSLATE_NEED_TABLE
#include 'translate.h'
/*
BOOL APIENTRY DllMain(HANDLE hInst, DWORD ul_reason_being_called, LPVOID lpReserved)
{
    return 1;
        UNREFERENCED_PARAMETER(hInst);
        UNREFERENCED_PARAMETER(ul_reason_being_called);
        UNREFERENCED_PARAMETER(lpReserved);
}
*/
__declspec( dllexport ) str_translate( long codefrom, long codeto, LPSTR buffer )
{
  char temp[128];
  sprintf(temp,'From:%ld, To:%ld, StrPtr:%p', codefrom, codeto, buffer);
  MessageBox( NULL, temp, 'Inside DLL 0...', 0 );
  if ( buffer ) {
    MessageBox( NULL, buffer, 'Inside DLL 1...', 0 );
    if ( codefrom != codeto )
      for( ; *buffer ; buffer++ )
        if ( *buffer & 'x80' ) *buffer = codetable[codefrom][codeto][(*buffer & 'x7F')];
  }
}
и VB
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Declare Function str_translate Lib "translate.dll" _
(ByVal ctf As Long, _
ByVal ctt As Long, _
ByVal buffer As String)
 
Private Sub Command1_Click()
Dim str1 As String
str1 = "проба"
str_translate 3, 0, str1
Form1.Text1.Text = str1
End Sub
функция в dll конвертит из одной charset в другой
когда вызываю из VB
адрес строки не определен
в чем может быть проблема ?
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.04.2010, 18:09
Ответы с готовыми решениями:

Вызов процедуры из DLL
Господа, помогите!!! Имеется самописная DLL в которой есть некая функция 'A'. Необходимо вызвать эту функцию из exe-шника. Если не трудно...

Вызов DLL. Библиотека не удаляется, пока работает приложение
Здравствуйте. Такой вопрос. Вызываю функцию из DLL при помощи класса Assembly, вызов корректный, но потом не могу...

Вызов функции из dll. Dll не определена в коде и подключается программно
Я написал простую функцию которая возвращает негатив bitmap'а Function Negative(ByVal Bmp As Bitmap) Dim Bmp2 As New...

4
Comanche
06.04.2010, 19:43
может быть не ByVal buffer As String, а ByRef buffer As String?
Messir
07.04.2010, 02:30
2 Comanche:
'может быть не ByVal buffer As String, а ByRef buffer As String?' - вряд ли... во всяком случае для асма (т.е. для dll-ки на нем) там надо именно ByVal, иначе не работает. Но попробовать можно, замечательный метод тыка еще никто не отменял...
Silver
07.04.2010, 10:15
Попробуй перед вызовом функции DLL из VB сделать:

[code]
buffer = Space(255) ' пробить пробелами
blackmac
07.04.2010, 14:34
понял половину проблемы
VB не правильно вызывает функции, которая не возвращает параметра (void).
Т.е. он резервирует место в агрументах (1-й аргумент) для возвращаемого параметра. И когда я на С-х тащу аргументы, натыкаюсь на порченный указатель :-(
Как только определяю функцию возвращающую например long, все катит.

Вот уроды.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.04.2010, 14:34
Помогаю со студенческими работами здесь

Inject dll, а также вызов функции из этой же dll
Всем привет, заинжектить dll в другой процесс получилось, но еще необходимо вызвать функцию в этой длл, каким образом это реализовать? ...

Создание dll на C++ и вызов метода dll из C#.
Народ, может кто-нибудь выложить конкретный пример, как это сделать? Например есть же нативная библиотека bass.dll, для неё есть обёртка...

Вызов Dll-фий в другой Dll
не получается дернуть dll в другой dll. Подскажите, как должен происходить вызов dll1 в dll2 ? (псевдокод) dll1.cpp { int...

Вызов функции DLL VB.NET в DLL C++
Как вызывать функции dll VB.NET через dll С++, которая приинжекчена к процессу проводника?

Вызов dll из dll -> request example
Вызывающий код void (*dllHelloWorld) (void); //ok LPCTSTR s = L&quot;dll.dll&quot;; //ok HINSTANCE hlib = LoadLibrary(s); //ok ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru