Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 33

DLL, ошибка Cannot convert 'char *' to 'char'

13.11.2012, 08:41. Показов 2624. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
подключал dll по примеру Dynamic-Link Library: Теория + Практика
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// определяем тип "указатель на функцию"
typedef void __cdecl (*dll_func)(const char lpszHost, unsigned short ObjectNumber, unsigned short NofObject, float Buffer);
 
dll_func getFloatValues = NULL;
 
HMODULE hDLL = LoadLibrary("MPUBComm.dll");
if (!hDLL) {
  ShowMessage("Невозможно загрузить MPUBComm.dll");
  return;
}
 
// пытаемся найти в таблице экспорта необходимую нам функцию
getFloatValues = (dll_func)GetProcAddress(hDLL, "_getFloatValues"); // обратите название на название функции (объяснение будет ниже)
 
if (!getFloatValues) {
  ShowMessage("Невозможно найти функцию getFloatValues");
  return;
}
 
getFloatValues(SERVERADDR,OID1,1,WorkBuffer[0]);
Edit4->Text = FloatToStrF(WorkBuffer[0],ffFixed,5,3);
FreeLibrary(hDLL);
переменная SERVERADDR будет ip-адрес (123.22.42.1)
объявляю const char SERVERADDR = "123.22.42.1";
пишет [C++ Error] MainUnit.cpp(21): E2034 Cannot convert 'char *' to 'char', скажите как правильно определить эту переменную????
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.11.2012, 08:41
Ответы с готовыми решениями:

выдает ошибку :[C++ Error] Unit1.cpp(30): E2034 Cannot convert 'char' to 'char *' не понимаю в чем дело
//Дано предложение. Найти наибольшее количество идущих подряд пробелов #include <vcl.h> #include <iostream> #pragma...

Ошибка E2034 Cannot convert 'wchar_t *' to 'char *'
Ошибка при компиляции (bcc32error) смотреть скриншот Установлена последняя версия (С++Builder XE6)

Ошибка - Cannot convert 'wchar_t *' to 'const char *'
В событии компонента TStringGrid OnDrawCell перерисовываю ячейки. Текст вывожу так: DrawText(Canvas->Handle, Cells.t_str(),...

18
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.11.2012, 09:02
C++
1
Edit4->Text = FloatToStrF(WorkBuffer[0],ffFixed,5,3);
Что такое WorkBuffer ?

И наверное :
Добавлено через 1 минуту
C++
1
const char SERVERADDR[] = "123.22.42.1";
0
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 33
13.11.2012, 09:07  [ТС]
туда функция пишет результат работы.

Добавлено через 5 минут
Цитата Сообщение от Avazart Посмотреть сообщение
C++
1
Edit4->Text = FloatToStrF(WorkBuffer[0],ffFixed,5,3);
Что такое WorkBuffer ?

И наверное :
Добавлено через 1 минуту
C++
1
const char SERVERADDR[] = "123.22.42.1";
[C++ Error] MainUnit.cpp(339): E2034 Cannot convert 'const char *' to 'char'
[C++ Error] MainUnit.cpp(339): E2342 Type mismatch in parameter 'lpszHost' (wanted 'const char', got 'const char *')
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.11.2012, 09:11
Type mismatch in parameter 'lpszHost' (wanted 'const char', got 'const char *')
Покажите объявление OID1 и WorkBuffer
0
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 33
13.11.2012, 09:17  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Покажите объявление OID1 и WorkBuffer
unsigned int OID1;
WorkBuffer= new float[50];
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.11.2012, 09:19
C++
1
WorkBuffer= new float[50];
Это что?
0
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 33
13.11.2012, 09:20  [ТС]
что именно?
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.11.2012, 09:26
E2034 Cannot convert 'char *' to 'char', скажите как правильно определить эту переменную????
E2342 Type mismatch in parameter 'lpszHost' (wanted 'const char', got 'const char *')
Ну тут явно сказано что суёшь ей char*, а она хочит char - тобиш один символ...
0
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 33
13.11.2012, 09:35  [ТС]
тогда перефразирую вопрос
const char lpszHost - указывает хост для подключения, как мне передать туда нужный ip из хоста???
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.11.2012, 09:42
Никак, это же один символ !
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
13.11.2012, 09:46
C++
1
2
AnsiString str = "32132132";
...,str.c_str();
0
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 33
13.11.2012, 09:56  [ТС]
все эту проблему победил,компилирует все.
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
13.11.2012, 10:00
Цитата Сообщение от builderf Посмотреть сообщение
const char lpszHost
Что-то у меня сомнения про const char, в названии явно используются lps... = long pointer to string
Где-то вы сами себя обманули
0
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 33
13.11.2012, 10:38  [ТС]
еще такой вопрос: как посмотреть весь список функций в dll???
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
13.11.2012, 10:52
Цитата Сообщение от builderf Посмотреть сообщение
как посмотреть весь список функций в dll???
Можно нортоном. Но это долго ковыряться и извращение. Зато им можно поглядеть названия и параметры функций.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
13.11.2012, 10:53
impdef, кажись
0
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 33
13.11.2012, 11:00  [ТС]
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Можно нортоном. Но это долго ковыряться и извращение. Зато им можно поглядеть названия и параметры функций.
а подробнее, что за нортон?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
13.11.2012, 11:06
builderf, подробнее - в новой теме, правила: одна тема - один вопрос. Если начнете обсуждать нортона, тема будет закрыта.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.11.2012, 19:47
Для просмотра обычно Builder используют консольное приложение tdump.exe
Code
1
tdump x.dll > tdump.txt
и в tdump.txt объявления, но там не увидишь какие параметры передаются

Добавлено через 1 минуту
Цитата Сообщение от mimicria Посмотреть сообщение
Что-то у меня сомнения про const char, в названии явно используются lps... = long pointer to string
Где-то вы сами себя обманули
Возможно здесь ?
C++
1
2
3
4
5
typedef void __cdecl (*dll_func)
     (const char lpszHost, /* может const char* lpszHost  ??? */
      unsigned short ObjectNumber,
      unsigned short NofObject,
      float Buffer);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.11.2012, 19:47
Помогаю со студенческими работами здесь

Ошибка Cannot convert 'const char *' to 'void *'
Всем привет! Нужна помощь новичку. Пытаюсь в С++ Builder 2009 создать простую программу для библиотеки без использования базы данных....

Ошибка cannon convert 'AnsiString' to 'char'
Помогите. пожалуйста. Пишу программу, нужно записать название команды и ее баллы в массив, в коде Form1->mas.name=(Edit1->Text); ...

Cannot convert 'void (_fastcall * (_closure )(TObject *,char &))(TObject *,char &)' to 'TKeyPressEvent'
доброго времени суток. роект был создан в builder 2007, а при попытке его скомпилировать на rad studio 2010 выдается ошибка: ...

Ошибка: E2034 Cannot convert 'char const[51]' to 'const wchar_t *
Пытаюсь добавить в memo1 название файлов располагающихся в каталоге, в Console Application все отлично, а тут проблема. ...

Ошибка E2034: Cannot convert 'char const[8]' to 'const wchar_t *'
Прошу прощения за свой вопрос, но я никак не пойму где ошибка? использую c++ builder 10 (если это как то связано) выдает следующие...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru