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

Вниз

Связка 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
14-7599
Alexander Vasjuk
2003-06-12 16:08
2003.07.03
Вместо Русских букв в форме вопросы ??? ?????? ??


4-7769
Clamat
2003-05-01 09:25
2003.07.03
Правильное завершение системы


1-7379
Tayfun
2003-06-20 11:50
2003.07.03
Подскажите пожалуйста как добавить в EXУ файл текстовый ресурс?


14-7603
Postin
2003-06-18 14:54
2003.07.03
SQL-99


1-7523
nester
2003-06-21 19:31
2003.07.03
Как распечатать содержимое TListView





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