Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
ВнизПроблема при подключении С-ной DLL. Найти похожие ветки
← →
Natalia (2004-05-23 11:16) [0]Господа программисты, подскажите. При подключени С-ной DLL (С Builder)выдает ошибку "Библиотека DLL 3260.dll не найдена по указанному пути"? Может что-то в настройках Delphi поменять нужно?
И почему при компиляции дельфовской Длл выдает Run\Parameters?
**********************
var
Form1: TForm1;
procedure _SayHello; external "Project1.dll"
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
_SayHello;
end;
end.
********************
код С-ной длл:
#include <windows.h>
#include <f2c.h>
//---------------------------------------------------------------------------
// Important note about DLL memory management when your DLL uses the
// static version of the RunTime Library:
//
// If your DLL exports any functions that pass String objects (or structs/
// classes containing nested Strings) as parameter or function results,
// you will need to add the library MEMMGR.LIB to both the DLL project and
// any other projects that use the DLL. You will also need to use MEMMGR.LIB
// if any other projects which use the DLL will be performing new or delete
// operations on any non-TObject-derived classes which are exported from the
// DLL. Adding MEMMGR.LIB to your project will change the DLL and its calling
// EXE"s to use the BORLNDMM.DLL as their memory manager. In these cases,
// the file BORLNDMM.DLL should be deployed along with your DLL.
//
// To avoid using BORLNDMM.DLL, pass string information using "char *" or
// ShortString parameters.
//
// If your DLL uses the dynamic version of the RTL, you do not need to
// explicitly add MEMMGR.LIB as this will be done implicitly for you
//---------------------------------------------------------------------------
#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
return 1;
}
void _export SayHello ()
{
MessageBox(NULL, "Hello", "Hello", MB_OK);
}
← →
Mim1 © (2004-05-23 11:42) [1]А на си пробывали эту библиотеку?
вообще пр помощи tdump посмотрите кто связан с 3260.dll. ваш exe или Project1.dll. ищите в исходниках место где она подключается ...
← →
Cobalt © (2004-05-23 11:48) [2]Путь к ДЛЛ лучше указывать полный (если подключаете динамически), а если подключаете статически - то см. примечание к функции LoadLibrary - где она ищет (в каких папках) необходимую длл. Соответственно, её (длл) надо поместить в соответствующую папку.
Насчёт "Run\Parameters" - не нажимайте кнопку ">" - она называется "Run", а вам нужно Alt+P,B - "Build Project".
← →
Natalia (2004-05-23 12:18) [3]Насчет Run\Parameters спасибо.
А как при помощи tdump посмотреть, кто связан с 3260.dll?
Кроме того, как это ни странно на дельфи6 моего знакомого проект запускается без ошибки, правда этот дельфи в другом городе..
← →
Cobalt © (2004-05-23 12:24) [4]Насчёт "запускается" - это зависит отместа расположения библиотеки, приложения и переменной среды окружения PATH.(См. справку к вышеуказанной функции)
C:\Program Files\Borland\Delphi6\Bin\tdump.exe
запускаете и он выводит все свои параметры командной строки.
← →
Natalia (2004-05-23 12:40) [5]Спасибо, проблема решена. Нашла библиотеку 3260.dll и поместила \Delphi6\Bin\, тогда заработало.А все таки tdump.exe запускается и сразу исчезает, как его просмотреть?
← →
Mim1 © (2004-05-23 13:42) [6]Запускайте из командной строки.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.03 c