Текущий архив: 2004.05.16;
Скачать: CL | DM;
ВнизОшибка при читении функции из DLL Найти похожие ветки
← →
Amid (2004-04-30 15:02) [0]Вот исходник DLL
/************************
//
library MyDLL;
uses
SysUtils,
Classes,
DM in "DM.pas" {DataModule1: TDataModule};
{$R *.res}
Function Conect(adr : String; port : Integer) : Boolean; export; stdCall;
Begin{}
DataModule1.ClientSocket1.Address:=adr;
DataModule1.ClientSocket1.Port:=port;
DataModule1.ClientSocket1.Active:=True;
Conect:=True;
End;{}
Exports
Conect;
End.
//
unit DM;
interface
uses
SysUtils, Classes, ScktComp;
type
TDataModule1 = class(TDataModule)
ClientSocket1: TClientSocket;
private
{ Private declarations }
public
{ Public declarations }
end;
var
DataModule1: TDataModule1;
implementation
{$R *.dfm}
end.
//
/************************
Пр читении функции Conect из DLL Ошибка - Access violation at address ..... in module MyDLL.dll
← →
MU (2004-04-30 15:04) [1]Почитайте текст комментария в вашей DLL
← →
Digitman © (2004-04-30 15:21) [2]вызывать конструктор объекта класса TDataModule1 и записывать ссылку на него в переменную DataModule1 как всегда должен никто иной как Пушкин Саня ... не царское это дело - объекты создавать ... описал класс - и хватит ! Неча ерундой страдать - объекты этого класса создавать и ссыли на него фиксировать в переменных для последующего обращения по этим ссылкам ...Хорошего помаленьку ...)
← →
Digitman © (2004-04-30 15:22) [3]
> Пр читении функции
при вызове ! а не при чтении ..
← →
Ega23 © (2004-04-30 15:25) [4]Другими словами
забыл DataModule1:=TDataModule1.Create(...)
А то [2] может не понял... :о)
← →
VAleksey © (2004-04-30 15:27) [5]Я тут мимо проходил ....
Смотрю string есть, а ShareMem нету ;-)
← →
Гаврила © (2004-04-30 15:30) [6]Connect
Если уж все сразу ругать :-)
← →
Ega23 © (2004-04-30 15:33) [7]Смотрю string есть, а ShareMem нету ;-)
Это уже следующий вопрос :о)
Страницы: 1 вся ветка
Текущий архив: 2004.05.16;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.054 c