Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.03;
Скачать: CL | DM;

Вниз

Связка ActiveX и WEB - проблемы!   Найти похожие ветки 

 
Gremlin   (2003-04-25 13:03) [0]

Здравствуйте, уважаемые.
Требуется консультация по поводу связки ActiveX и WWW, а конкретно интересует работа OCX-файлов.
Создаю Active Form на нём обычную кнопку. В этом же проекте статически загружаю DLL и на событие Button1Click выполняю процедуру из подключенной DLL:


implementation
uses ComObj, ComServ;
{$R *.DFM}
procedure RunProc01(); stdcall; external "MyDLL01.dll";
{ TMyActiveFX01 }

procedure TMyActiveFX01.Button1Click(Sender: TObject);
begin
RunProc01();
end;


Данная DLL выглядит следующим образом:


library MyDLL01;
uses
Windows, SysUtils, Messages, ShellAPI;

procedure Test02() export; stdcall;
begin
MessageBox(0, PChar("It work!!!"), PChar("Message from DLL"), 0);
end;

procedure RunProc01() export; stdcall;
begin
MessageBox(0, PChar("It work!!!"), PChar("Message from DLL"), 0);
try
ShellExecute(0, "open", "vcstub.exe", nil, nil, SW_SHOW);
except
MessageBox(0, PChar("ShellExecute dos""t work!!!"), PChar("Message from DLL"), 0);
end; {try}
end;

exports
Test02, RunProc01;

begin
end.


Далее в проекте:
Project-> WedDeploymentOptions выставляю всё как надо, в том числе в Additional Files вставляю vcstub.exe и MyDLL01.dll.
Далее Web deploy, создаётся ocx-файл, htm-файл и inf-файл соответственно.
При первом запуске MyActiveFX01Proj1.htm сначала запускается vcstub.exe, потом подгружается непосредственно моя ActiveForm. При этом при вызове процедуры RunProc01() из DLL-ки сообщение выдаётся, но ShellExecute(0, "open", "vcstub.exe", nil, nil, SW_SHOW); не выполняется, хотя вроде и "vcstub.exe" и моя DLL-ка находятся в одном каталоге.
При последующих запусках странички MyActiveFX01Proj1.htm vcstub.exe не запускается!
При изменении проекта (Caption у кнопки поменяли допустим) после повторного компилирования и Web Deploy проекта, содержащего AXForm-у, сама AXForm-a не обновляется на htm-страничке, несмотря на то, что казалось бы всё было собрано заново.
В связи со всем этим вопросы:

1). Возможности OCX-файлов в системе, их полномочия.
2). Каким образом сделать так, что бы мой exe-файл всегда запускался на выполнение при открытии html-страницы, на которой расположена моя ActiveForm?
3). Как добиться обновления OCX-файлов после их повторной сборки?
4). Я не нашёл место, куда система записывает ocx, dll и exe файлы, когда пользователь заходит на страницу с AXForm:


OBJECT
classid="clsid:9EAEAD86-B907-4912-AE46-8B5EF41C7EE0"
codebase=file://I /temp/2del/UrlTest/MyActiveFX01Proj1.inf


сам INF:

;Delphi-generated INF file for MyActiveFX01Proj1.ocx
[Add.Code]
MyActiveFX01Proj1.ocx=MyActiveFX01Proj1.ocx
VCStub.exe=VCStub.exe
MyDLL01.dll=MyDLL01.dll

[MyActiveFX01Proj1.ocx]
file=file://I/temp/2del/UrlTest/MyActiveFX01Proj1.ocx
clsid={9EAEAD86-B907-4912-AE46-8B5EF41C7EE0}
RegisterServer=yes

[VCStub.exe]
file=file://I/temp/2del/UrlTest/VCStub.exe

[MyDLL01.dll]
file=file://I/temp/2del/UrlTest/MyDLL01.dll


5). Почему не работают функции их ShellAPI типа ShellExecute?
6). Посоветуйте толковую литературу по данной теме, а то в Тейксейре и в остальных своих книгах, имеющих отношение к COM based технологиям про использовании ActiveX в WEB сказано вскользь.

Спасибо.


 
Gremlin   (2003-04-28 14:51) [1]

up



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

Текущий архив: 2003.07.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
3-7315
Oleg
2003-06-09 15:14
2003.07.03
переменную в Query


1-7409
OlDemon
2003-06-20 08:19
2003.07.03
Появление дочерних окон


14-7614
fool
2003-06-18 16:44
2003.07.03
Info about


3-7325
alextov
2003-06-09 11:02
2003.07.03
Как можно распечатать-сохранить-считать DesigionGrid?


14-7664
qwertyuiop
2003-06-16 16:09
2003.07.03
microsoft word file format