Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Access violation... [D7, WinXP]


Linuxoid ©   (2003-08-31 15:42:00) 

Вобщем, такая проблема - пишу код:

...

function PdhOpenQuery(pReserved:pointer;dwUserData:dword;HQUERY:thandle): longint; stdcall; external "pdh.dll";

...

procedure TForm1.FormCreate(Sender: TObject);
var a: thandle;
begin
if PdhOpenQuery(nil, 1, a)=error_success then edit1.text:="";
end;

...

И вроде, функция правильно срабатывает, возвращая 0, но при закрытии проги возникают сообщения вроде "Access violation..." Если а - глобальная переменная, то эти ошибки возникают сразу при старте проги. :(


Ык   (2003-09-01 20:11:00) [1]

Бред какой-то


Linuxoid   (2003-09-01 18:08:00) [2]

Вот как надо было объявить, теперь все работает :)

type e=^thandle;

function PdhOpenQuery(pReserved:pointer;dwUserData:dword; out HQUERY:e): longint; stdcall; external "pdh.dll";

PdhOpenQuery(nil, 1, @a);


Anatoly Podgoretsky   (2003-08-31 22:42:00) [3]

Вероятно это тоже правильно, но надо видеть оригинальное объявление. А вот это outуже существеннее.


Ык   (2003-08-31 22:16:00) [4]

function PdhOpenQuery(pReserved:pointer;dwUserData:dword; out HQUERY:thandle): longint{?}; stdcall{?}; external "pdh.dll";


Linuxoid   (2003-08-31 17:44:00) [5]

Вот описание этой функци, может быть, какие-нибудь параметры неправильно объявляю или передаю...

PDH_STATUS PdhOpenQuery(
IN LPVOID pReserved, // reserved
IN DWORD dwUserData, // a value associated with this query
IN HQUERY *phQuery // pointer to a buffer that will receive the query handle
);

pReserved
Reserved. Must be NULL.

dwUserData
A user-defined DWORD value that is to be associated with this query. You can call PdhGetCounterInfo to retrieve the user data value for the query in which a counter resides.

phQuery
A pointer to the buffer to receive the handle to the query that is created.


Anatoly Podgoretsky   (2003-08-31 16:24:00) [6]

Ты хочешь узнать есть ли здесь ошибка, ошибки здесь нет.


Наверх

Титульная страница Поиск, карта сайта Написать письмо