Главная страница
    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
3-69193
b-Ars
2002-10-31 12:10
2002.11.21
Как сделать связь в SQL запросе?


1-69281
Nikolai_S
2002-11-12 10:02
2002.11.21
Из Дельфи 6 в Дельфи 5


3-69109
dim-
2002-11-03 15:44
2002.11.21
ошибка при дообавлении


14-69551
artgamer
2002-11-03 22:31
2002.11.21
Подскажите, как в XP запретить гостю лазить в панель управления.


1-69392
lesa
2002-11-10 17:37
2002.11.21
Findfirst и файлы без расширения?





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