Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Где косяк при написании DLL ... [D7, Win2k]


ZSergey ©   (2005-11-03 08:04:00) 

Привет знатокам!
Написал DLL. Вот ее сходник:

library LoadEx;
uses
 SysUtils,
 Classes,
 ComObj;
procedure CreateExcelObject; stdcall;
var
XL : variant;

begin
XL := CreateOLEObject('Excel.Application'); // Создание OLE объекта
XL.Visible := true;
XL.WorkBooks.add;
XL.visible := true;
end;

exports
 CreateExcelObject name 'CreateExcel';
end.

Подключаю библиотечку в приложении статически  и вызываю из нее процедуру вот так:

...
var
 Form1: TForm1;

implementation
procedure CreateExcel; stdcall; external 'LoadEx.dll';

{$R *.dfm}

procedure TForm1.btnCreateOleClick(Sender: TObject);
begin
CreateExcel;
end;
end.

Компилирую, когда пытаюсь создать Ole объект, вылетает "Application Error: Exception EOleSysError in module LoadEx.dll at <Код ошибки>". Подскажите, где косяк? Заранее спасибо!


ZSergey   (2005-11-03 08:38:00) [1]


> Lamer@fools.ua ©   (03.11.05 08:26) [2]
>
> CoInitialize(nil);
> (uses ActiveX)

Спасибо за помощь, работает. Щас буду рыть смысл этой ф-ции.
> >>Владислав ©   (03.11.05 08:24) [1]
>
> После "at" идёт не код ошибки, а адрес. ZSergey ошибся.


Виноват, торопился :).


Lamer@fools.ua   (2005-11-03 08:27:00) [2]

>> Владислав ©   (03.11.05 08:24) [1]

После "at" идёт не код ошибки, а адрес. ZSergey ошибся.


Lamer@fools.ua   (2005-11-03 08:26:00) [3]

CoInitialize(nil);
(uses ActiveX)


Владислав   (2005-11-03 08:24:00) [4]

А "<Код ошибки>" это секретная информация? Может таки посмотреть, что он означает?


Наверх

Титульная страница Поиск, карта сайта Написать письмо