powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вызов функции из DLL
25 сообщений из 45, страница 1 из 2
Вызов функции из DLL
    #33551383
дед Макар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите. Замучился. BCB6
У меня есть библиотека от стороннего разработчика. Я хочу подключить ее неявно. Сделал
implib bibl.dll bibl.lib
и подключил ее к своему проекту Project->Add to project.
Что мне сделать дальше что бы вызвать функцию bool myFunc(int, AnsiString) из этой dll?
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551440
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дед Макарimplib bibl.dll bibl.lib
и подключил ее к своему проекту Project->Add to project.
Что мне сделать дальше что бы вызвать функцию bool myFunc(int, AnsiString) из этой dll?описать функции соответствующим образом, в справке есть примеры.
поиск по слову dllimport
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551457
_Балтика
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
дед МакарПомогите. Замучился. BCB6
У меня есть библиотека от стороннего разработчика. Я хочу подключить ее неявно. Сделал
implib bibl.dll bibl.lib
и подключил ее к своему проекту Project->Add to project.
Что мне сделать дальше что бы вызвать функцию bool myFunc(int, AnsiString) из этой dll? Здесь про классы. Но то же проходит для функций
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551497
дед Макар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пишу
__declspec(dllimport) bool myFunc(int, AnsiString);

и получаю Linker error
Unresolved external 'myFunc(int, AnsiString)' referenced from UNIT1.OBJ

хелп. что не так? Справка почему-то не помогла
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551513
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может надо extern "C" ?
ты посмотри, как в ДЛЛ функции называются, там всякие префиксы могут быть ...
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551524
_Балтика
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такая примочка bindump.exe называется. Ее поюзай с dll.
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551532
дед Макар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
читаю из http://www.codenet.ru/progr/visualc/Using-DLL.php
==========================
Приведем теперь исходный код простого приложения, которое использует функцию MyFunction из библиотеки MyDLL.dll:
#include <windows.h>
#include "MyDLL.h"

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
int iCode=MyFunction("Hello");
return 0;
}
===========================

у себя пишу

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include "bibl.h"  // шло вместе с библиотекой
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 bool a = myFunc( 5 , "asdf");
}

получаю
[Linker Error] Unresolved external '_myFunc' referenced from D:\CVSHOME\TEST\UNIT1.OBJ
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551539
дед Макар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_БалтикаЕсть такая примочка bindump.exe называется. Ее поюзай с dll.

нету в билдере такого :(
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551553
дед Макар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Карабас Барабасможет надо extern "C" ?
ты посмотри, как в ДЛЛ функции называются, там всякие префиксы могут быть ...
Posted via ActualForum NNTP Server 1.3

extern "C" где? у меня? А куда его запихнуть? Функция так и называется. Она и в хидере так описана, и в описании длл-ки..
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551587
_Балтика
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Карабас имел ввиду __declspec(dllimport) extern "C" bool myFunc(int, AnsiString);
В библиотеках вместо действительных иногда используются так называемые декоративные имена. Что-то типа _MyFyncUSXYZ
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551612
дед Макар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_БалтикаКарабас имел ввиду __declspec(dllimport) extern "C" bool myFunc(int, AnsiString);


[C++ Error] Unit1.cpp(14): E2040 Declaration terminated incorrectly
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551639
_Балтика
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
дед Макар _БалтикаКарабас имел ввиду __declspec(dllimport) extern "C" bool myFunc(int, AnsiString);


[C++ Error] Unit1.cpp(14): E2040 Declaration terminated incorrectly
Извиняюсь, наоборот:
extern "C" __declspec(dllimport) bool myFunc(int, AnsiString);
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551646
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот пример:
extern "C" char* __declspec(dllexport) DateStr(int *Hours);

в твоем случае будет (скорее всего) что-то типа:
extern "C" char* __declspec(dllimport) DateStr(int *Hours);

в некоторых случаях к имени функции компилятором добавляются префиксы, обозначающие типы входных параметров, тип вызова ну и т.п.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551665
_Балтика
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Карабас Барабасвот пример:
extern "C" char* __declspec(dllexport) DateStr(int *Hours);

в твоем случае будет (скорее всего) что-то типа:
extern "C" char* __declspec(dllimport) DateStr(int *Hours);

в некоторых случаях к имени функции компилятором добавляются префиксы, обозначающие типы входных параметров, тип вызова ну и т.п.
Posted via ActualForum NNTP Server 1.3Возвращаемый тип все-таки после __declspec(dllimport) писать надо.
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551674
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_БалтикаВозвращаемый тип все-таки после __declspec(dllimport) писать надо.да ? может быть :)) компилируется и ладно :)
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551680
дед Макар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Балтика дед Макар _БалтикаКарабас имел ввиду __declspec(dllimport) extern "C" bool myFunc(int, AnsiString);


[C++ Error] Unit1.cpp(14): E2040 Declaration terminated incorrectly
Извиняюсь, наоборот:
extern "C" __declspec(dllimport) bool myFunc(int, AnsiString);

Если с подключенным ихним хидером, то
[C++ Error] Unit1.cpp(18): E2337 Only one of a set of overloaded functions can be "C"

если без него то Unresolved...
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551704
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дед МакарЕсли с подключенным ихним хидером,дак есть их хедер ? тогда ничего мутить не надо, просто надо его подключать, там всё должно быть описано как надо
дед Макар[C++ Error] Unit1.cpp(18): E2337 Only one of a set of overloaded functions can be "C"а если ткнуть на ошибку и нажать F1, что написано ? (я не встречался с такой ошибкой)
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551707
_Балтика
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Должна быть все таки какая-то утилита типа dumpbin.exe и в Борланде.
Если нет, то можно поэксперементировать с LoadLibrary и GetProcAddress что бы докопаться до имени ф-ции.
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551726
_Балтика
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как она в хедере описана?
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551733
_Балтика
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Объявлена вернее :))
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551746
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Балтикаdumpbin.exeА что она делает ? Если показывает список экспортируемых функций, то такого добра в инете навалом, думаю, если автор поищет то найдет или ее же, или другую аналогичную
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551759
_Балтика
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Карабас Барабас _Балтикаdumpbin.exeА что она делает ? Если показывает список экспортируемых функций, то такого добра в инете навалом, думаю, если автор поищет то найдет или ее же, или другую аналогичную
Posted via ActualForum NNTP Server 1.3Дык и я про тоже. А она много всего делает, в зависимости от ключей.
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551783
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Балтикаdumpbin.exeкстати, уточни, про какой именно файл ты говришь: bindump.exe или dumpbin.exe ? гугль по обеим ссылки выдает :))
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551801
_Балтика
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Карабас Барабас _Балтикаdumpbin.exeкстати, уточни, про какой именно файл ты говришь: bindump.exe или dumpbin.exe ? гугль по обеим ссылки выдает :))
Posted via ActualForum NNTP Server 1.3dumpbin.exe
...
Рейтинг: 0 / 0
Вызов функции из DLL
    #33551814
_Балтика
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Балтика Карабас Барабас _Балтикаdumpbin.exeкстати, уточни, про какой именно файл ты говришь: bindump.exe или dumpbin.exe ? гугль по обеим ссылки выдает :))
Posted via ActualForum NNTP Server 1.3dumpbin.exeНо он без link.exe и еще какой-то dll (по-моему mspdb71.dll) работать не будет.
...
Рейтинг: 0 / 0
25 сообщений из 45, страница 1 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вызов функции из DLL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]