Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Экспорт функций 
:(
    Опции темы
Spawn
Дата 14.11.2002, 06:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 278
Регистрация: 3.6.2002

Репутация: нет
Всего: нет



Я еще ни разу не экспортировал функции, что я сдесь делаю неправильно:

unit MyAPI;

{$WEAKPACKAGEUNIT}

interface

uses Windows;

{ HPPEMIT '#include <windows.h>'}

{$EXTERNALSYM GET_XBUTTON_WPARAM}
function GET_XBUTTON_WPARAM(WParam:WORD):integer;stdcall;

implementation

function GET_XBUTTON_WPARAM;     external  'GET_XBUTTON_WPARAM'

end.

при компиляции программы курсор переходит на

begin
 Application.Initialize;//сюда
 Application.CreateForm(TForm1, Form1);
 Application.Run;
end.

при последующем нажатии компиляции происходит ошибка.
Так же надо указать значения XBUTTON1, XBUTTON2;
Подскажите пожалуйстта как решить эту проблему.
PM MAIL   Вверх
Vit
Дата 14.11.2002, 06:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Вот пример который даёт справка по дельфи:
Код

library MinMax;

function Min(X, Y: Integer): Integer; stdcall;
begin
 if X < Y then Min := X else Min := Y;
end;

function Max(X, Y: Integer): Integer; stdcall;
begin
 if X > Y then Max := X else Max := Y;
end;

exports
 Min,
 Max;

begin
end.





--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Spawn
Дата 14.11.2002, 06:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 278
Регистрация: 3.6.2002

Репутация: нет
Всего: нет



В MSDN написано:
Header: Declared in Winuser.h; include Windows.h.
но не указано какая DLL нужна для экспорта
Я посмотрел WinSock и получается, что нада добавить

const
 dll='???.dll'

function GET_XBUTTON_WPARAM;     external  dll name 'GET_XBUTTON_WPARAM'

но я не знаю какая DLL нужна(((
PM MAIL   Вверх
Vit
Дата 14.11.2002, 06:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Теперь ты меня совсем запутал, что тебе надо?

- экспортировать описанную тобой функцию чтобы она была доступна для других приложений?

- импортировать чью-то чужую функцию, чтобы использовать в своём приложении?




--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Spawn
Дата 14.11.2002, 06:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 278
Регистрация: 3.6.2002

Репутация: нет
Всего: нет



Мне нада экспортировать функцию описаную в MSDN как GET_XBUTTON_WPARAM для получения сведений о том какая кнопка мышки нажата(XBUTTON1 или XBUTTON2).
PM MAIL   Вверх
Spawn
Дата 14.11.2002, 06:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 278
Регистрация: 3.6.2002

Репутация: нет
Всего: нет



Я нашел где она лежит - User32.lib, но при подстановке тот же еррор((((
PM MAIL   Вверх
Vit
Дата 14.11.2002, 06:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Примерно так:

Код
function GET_XBUTTON_WPARAM(WParam:WORD):integer;stdcall;external 'User32.dll';

procedure TForm1.Button1Click(Sender: TObject);
begin
 GET_XBUTTON_WPARAM(2);
end;


только 2 примечания:

1) У меня такой функции в 'User32.dll' нет
2) То что тебе надо называется не экспортом а импортом




--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Spawn
Дата 14.11.2002, 06:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 278
Регистрация: 3.6.2002

Репутация: нет
Всего: нет



эта функция существует токо в Win2K
PM MAIL   Вверх
Vit
Дата 14.11.2002, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Цитата(Spawn @ 13.11.2002, 13:56)
эта функция существует токо в Win2K

А в XP она есть?


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Spawn
Дата 14.11.2002, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 278
Регистрация: 3.6.2002

Репутация: нет
Всего: нет



должна быть в Win2K, XP и NT
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1594 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.