Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2014.04.27;
Скачать: [xml.tar.bz2];

Вниз

Вызов функции из 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;
Скачать: [xml.tar.bz2];

Наверх





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


15-1383590956
KilkennyCat
2013-11-04 22:49
2014.04.27
как работает механизм установления соединения с MySQL?


15-1383227337
брат Птибурдукова
2013-10-31 17:48
2014.04.27
"Сейчас позднее, чем ты думаешь"


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


1-1324983124
Виктор М.
2011-12-27 14:52
2014.04.27
Отправить POST-запрос в Windows-1251 в Indy





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский