Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.04.27;
Скачать: CL | DM;

Вниз

Вызов функции из DLL в методе объекта   Найти похожие ветки 

 
loser   (2013-07-19 18:51) [0]

Привет всем! Столкнулся со следующей ситуацией: при вызове функции dll из основного потока программы - проблем нет, но при попытке создания метода специального объекта для работы с dll возникает ошибка обращения к памяти... В Чем может быть косяк?
P.S. функции dll определены в отдельном юните, который объявлен и для основного приложения и для объекта.


 
RWolf ©   (2013-07-19 19:52) [1]

Код в студию.


 
loser   (2013-07-19 20:47) [2]

unit DLLfunct;
interface
uses DevConst;
function OpenDev(Description : PHandle):INT; stdcall; external "Driver.dll";
implementation
end;


unit DevClass;
interface
uses DevConst, DLLfunct;

DevDriver = class;
private
FHandle : THandle;
FHWND  : THWND;
FInt :      Integer;
end;
public Create(FormHandle : THWND; DevInt : integer);

implementation

DevDriver.Create(FormHandle : THWND; DevInt : integer);
begin
OpenDev(@FHandle);
FHWND  : FormHandle;
FInt :      DevInt;
inherited Create;
end;



 
Германн ©   (2013-07-19 21:06) [3]

Что это такое? Оно же даже не скомпилится.


 
loser   (2013-07-19 21:13) [4]

Кода в данный момент нет на руках, просто примерно написал, но по смыслу...


 
Германн ©   (2013-07-19 22:26) [5]


> но по смыслу...

По смыслу это на форум телепатов. :)


 
loser   (2013-07-20 10:29) [6]

Всё компилится и даже работает, но режиме debug. А в релизе - облом: access violation


 
Плохиш ©   (2013-07-20 11:11) [7]

Берëш листок бумаги с карандашом и медленно выполняешь свой говнокод записывая все действия, значения переменных и параметров.
PS. Выполнять так как надерьмокодил, а не как должно работать.


 
loser   (2013-07-20 12:00) [8]

Нормально надерьмокодил, но не работает))


 
loser   (2013-07-20 12:19) [9]

unit DLLfunct;
interface
uses DevConst;
function OpenDev(Description : PHandle):INT; stdcall; external "Driver.dll";
implementation
end;

unit DevClass;
interface
uses DevConst, DLLfunct;

DevDriver = class;
private
FHandle : THandle;
FHWND  : THWND;
FInt :      Integer;
end;
public constructor Create(FormHandle : THWND; DevInt : integer);

implementation

DevDriver.Create(FormHandle : THWND; DevInt : integer);
begin
OpenDev(@FHandle);
FHWND  : =FormHandle;
FInt :=      DevInt;
inherited Create;
end;


 
Rouse_ ©   (2013-07-20 14:37) [10]

Это ты опять по памяти написал?

Вот здесь написано что-то совсем невразумительное:

DevDriver = class;
private
FHandle : THandle;
FHWND  : THWND;
FInt :      Integer;
end;
public constructor Create(FormHandle : THWND; DevInt : integer);


 
loser   (2013-07-20 14:39) [11]

Ну да, по памяти...


 
Rouse_ ©   (2013-07-20 15:39) [12]

Ну тогда ошибка в 17-ой строке...


 
loser   (2013-07-20 16:28) [13]

Спасибо))) а вообще рад студио х3 удивляет


 
Rouse_ ©   (2013-07-20 20:52) [14]

Сам фшоке...


 
Плохиш ©   (2013-07-20 20:57) [15]


> DevDriver.Create(FormHandle : THWND; DevInt : integer);
> begin
> OpenDev(@FHandle);
>

Используемую переменную определять дядя пушкин должен?

> loser   (20.07.13 16:28) [13]
> Спасибо))) а вообще рад студио х3 удивляет
>
>

Плохому танцору известно, что мешает.


 
loser   (2013-07-20 21:38) [16]


> Плохиш ©   (20.07.13 20:57) [15]

Используемую переменную определяют в функции OpenDev


 
loser   (2013-07-20 21:43) [17]

Да, танцор из меня действительно не очень по известным причинам (как, впрочем, и программист))


 
Rouse_ ©   (2013-07-20 22:02) [18]

Как будет код, так и приходи, а пока закрываемся.



Страницы: 1 вся ветка

Текущий архив: 2014.04.27;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.007 c
3-1297252094
Гость
2011-02-09 14:48
2014.04.27
Подскажите как получить таблицу-матрицу запросом в MSSQL


15-1383645741
Sign
2013-11-05 14:02
2014.04.27
COM объект на .NET вызов из Delphi


4-1268990516
Delphi User
2010-03-19 12:21
2014.04.27
NtQuerySystemInformation


3-1297148421
Дмитрий С
2011-02-08 10:00
2014.04.27
Волшебство с * и двумя таблицами.


2-1374233505
kuku
2013-07-19 15:31
2014.04.27
Ненужный звук при нажатии Enter в поле TEdit