Показать сообщение отдельно
  #7  
Старый 26.05.2008, 19:39
Аватар для zip000
zip000 zip000 вне форума
Начинающий
 
Регистрация: 24.07.2007
Сообщения: 194
Репутация: 25
По умолчанию

mdbm после слова implementation в основном юните пишем
Код:
procedure LoadBitmap(AFileName : String); external 'MyDLL.dll';
procedure FreeBitmap; external 'MyDLL.dll';
procedure DrawCircle(X, Y, R : Integer); external 'MyDLL.dll';
procedure SaveBitmapPart(X,Y,W,H : Integer; AFileName : String); external 'MyDLL.dll';
Это статическая загрузка функций из библиотеки, т.е. все будет загружаться при старте программы. про динамическую загрузку почитайте книжку какую-нить, лень писать .

И еще. Я бы декларировал функции в библиотеке с помощью метода stdcall, т.е. в коде библиотеки пишете
Код:
procedure FreeBitmap; stdcall;
Аналогично для остальных функций. Но тогда в коде программы надо объявлять точно так же
Код:
procedure FreeBitmap; stdcall; external 'MyDLL.dll';
Это надо для совместимости с другими программами (точнее с программами, написанными на других ЯП).

И еще. В DLL лучше не юзать строки (String), а указатели на символы (PChar) для передачи строковых параметров, иначе надо еще с самой DLL'кой таскать еще 1 DLL'ку, там все в каментах написано. Почитайте.
__________________
Не профи, но и не чайник . D6 - лучше не придумали. Пока.
Ответить с цитированием