Error: Procedure directive "STDCALL" has conflicts

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Error: Procedure directive "STDCALL" has conflicts

Сообщение Sphinx » 12.04.2007 09:53:55

имеется следующий код (участок на котором конфликт):
Код: Выделить всё
implementation

{$IFNDEF DYNAMIC_LOAD}
  function _CreateInterface: Pointer; external LibName name 'CreateInterface'; stdcall;
{$ELSE}
type
  TCreateInterface = function: Pointer; stdcall;

var
  hMGraph : HMODULE;

procedure UnLoadLib;
begin
  if hMGraph <> 0 then
    FreeLibrary(hMGraph);
end;
{$ENDIF}


при компиляции все падает с ошибкой:
Error: Procedure directive "STDCALL" has conflicts with other directives


При этом в interface секции тоже полно функций с stdcall; но там все отлично. Кто-нибудь сталкивался с подобным ?
Уже всю голову сломал :cry:
Sphinx
новенький
 
Сообщения: 33
Зарегистрирован: 27.09.2005 21:52:09

Сообщение Sergei I. Gorelkin » 12.04.2007 10:22:47

А какой из вариантов не компилируется (с DYNAMIC_LOAD или без, или оба)?
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1406
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение shade » 12.04.2007 10:27:25

Код: Выделить всё
function _CreateInterface: Pointer; stdcall; external LibName name 'CreateInterface';

;)
Аватара пользователя
shade
энтузиаст
 
Сообщения: 879
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

Сообщение Sphinx » 12.04.2007 10:51:05

Sergei I. Gorelkin без, т.е. при статической линковке с библиотекой.

shade Ну блиииин.....я тут полдня голову ломаю, а решение такое простое (((
Спасибо большое. :wink:
Sphinx
новенький
 
Сообщения: 33
Зарегистрирован: 27.09.2005 21:52:09


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

Рейтинг@Mail.ru