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

Вниз

Создание DLL   Найти похожие ветки 

 
KINDA   (2002-11-12 12:05) [0]

Уважаемые мастера, подскажите пожалуйста как создавать библиотеки
DLL в Delphi чтобы их можно было подключить в VBA проекте. Почему-то созданная при помощи DLL Wizard библиотека не хочет подключаться в VBA а в Делфи работает.


 
Слесарь Матерящийся   (2002-11-12 12:14) [1]

ActiveX library?


 
stone   (2002-11-12 12:17) [2]

Тут вопрос не в том как и в чем создавать библиотеки, а как правильно подключать "чужие" библиотеки к VBA


 
Romkin   (2002-11-12 12:22) [3]

Лучше действительно использовать ActiveX library, и там создавать Automation Object(s) :-))
тогда в VBA все просто -
set Obj = CreateObject("<ProgID>")
и пользуешься, как обычным объектом


 
sova   (2002-11-12 12:56) [4]

Я делал как написано http://delphi.mastak.ru/articles/usedll/index.html,

а в VBA типа:
Declare Function GetMyIP Lib "<name>.dll" Alias "GetMyIP" (MyIP As String) As Long

Проблема только когда в библиотеке возникает исключение, после этого приходится перегружать Ворд


 
IDKFA   (2002-11-12 12:57) [5]

Вот тебе ссылка - почитай(там нормально написано):
http://www.compress.ru/Article.asp?id=990


 
Dimka Maslov   (2002-11-12 13:01) [6]

>sova
В таком случае в теле экспортируемой функции должен находится блок try..except..end

function ExportFunc(....
begin
try
...
except
end;
end;


 
Андрей Сенченко   (2002-11-12 16:02) [7]

У меня не работало пока не надоумили, что нужно хотя-бы иногда соблюдать соглашения о вызовах.

Вот эта DLL вполне нормально поднималась VBA-шниками

LIBRARY convert;
uses
Windows, Graphics, JPEG;

Procedure bmp2jpg(bmpname,jpgname : PChar); stdcall;
var
JPGpic: TJPEGImage;
BMPpic: TBitmap;
begin
JPGpic := TJPEGImage.Create;
BMPpic := TBitmap.Create;
Try
BMPpic.LoadFromFile(BMPName);
JPGpic.Assign(BMPpic);
JPGpic.SaveToFile(JPGName);
Finally
JPGpic.Free;
BMPpic.Free;
End { Try }
end;

Procedure jpg2bmp(bmpname,jpgname : PChar); stdcall;
var
JPGpic: TJPEGImage;
BMPpic: TBitmap;
begin
JPGpic := TJPEGImage.Create;
BMPpic := TBitmap.Create;
Try
JPGpic.LoadFromFile(JPGName);
BMPpic.Assign(JPGpic);
BMPpic.SaveToFile(BMPName);
Finally
JPGpic.Free;
BMPpic.Free;
End { Try }
end;

Exports
bmp2jpg,
jpg2bmp;
end.


 
KINDA   (2002-11-12 17:08) [8]

Огромное всем спасибо, все работает.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.11.21;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.007 c
14-69537
vidiv
2002-11-01 14:16
2002.11.21
Осторожно! Linux!


4-69613
arbin
2002-10-09 13:33
2002.11.21
Поворот формы


1-69296
dimonf
2002-11-12 10:32
2002.11.21
Как корректно передать фокус в Edit?


1-69410
Lexa1900
2002-11-10 23:30
2002.11.21
Как создать свой тип шаблона?


14-69495
Vagif
2002-11-01 16:41
2002.11.21
NDD





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский