Вниз
Скачать: CL | DM;

Создание 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
3-69113
pavelsinicinV
2002-11-03 20:29
2002.11.21
Aизический номер записи в таблице через SQL запрос


3-69137
SemFLY
2002-10-17 19:12
2002.11.21
MySQL...


1-69383
Sergy
2002-11-06 17:52
2002.11.21
Погасить пункт меню в чужой проге


14-69519
Pan
2002-10-31 15:42
2002.11.21
Как все-таки перевести на русский надпись на кнопке Ok?


1-69321
Step[B.M.]
2002-11-12 16:35
2002.11.21
Как сонсольное приложение сделать невидимым ?




   Наверх