Главная страница
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.004 c
1-1323780356
wp2
2011-12-13 16:45
2014.04.27
странности FindFirst


15-1383681339
indeets
2013-11-05 23:55
2014.04.27
apache + php as module


1-1314088912
malphunction
2011-08-23 12:41
2014.04.27
[Delphi XE] Дочерняя форма НЕ активизировала родительское окно


2-1374145905
dis12345
2013-07-18 15:11
2014.04.27
шрифт одинаковой ширины


15-1383465477
Интересующися
2013-11-03 11:57
2014.04.27
Ищу компонент (наверно какой-то TPanel)