Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Илья Гость
|
Добавлено: Пн Сен 30 2002 12:28 Заголовок сообщения: Вопрос |
|
|
Мне надо вызвать *.dll из asp скрипта. Dll работает с базой данных и возвращает какую то строчку (Hello); Как это сделать? Как передать параметры в *.dll методом POST ? Буду очень признателен за помощь. |
|
Вернуться к началу |
|
|
Коллега Гость
|
Добавлено: Пн Сен 30 2002 13:02 Заголовок сообщения: Re: Вопрос |
|
|
Если ваша DLL - COM-объект, то создайте временную переменную объектного типа Set obj_var = Server.CreateObject([ProgID]), где ProgID - имя вашего COM-сервера, зарегистрированное в реестре. Далее вызовите метод, возвращающий Hello, например:
Для того, чтобы передать в COM параметры методом POST вам нужно создать HTML-форму, имеющую в качестве тэга action имя нужной ASP-страницы. В этой форме вы можете занести параметры, запоминая их в текстовых или скрытых полях. Затем можете сделать Submit формы. В вашем asp-скрипте вы можете получить пере- даваемые параметры с помощью метода Form (для POST) объекта Request:
param1 = Request.Form(имя_поля)
, а затем присвоить значение param1 тому свойству COM-объекта, которое вам требуется:
obj_var.Value1 = param1
Ну, или obj_var.Value1 = Request.Form(имя_поля)
Помните, что все величины в ASP рассматриваются как Variant-type. Это важно, т.к. иногда может приводить к забавным ситуациям. |
|
Вернуться к началу |
|
|
Коллега Гость
|
Добавлено: Пн Сен 30 2002 13:04 Заголовок сообщения: Re: Вопрос |
|
|
"Далее вызовите метод, возвращающий Hello, например" - Имелся в виду вызов "" |
|
Вернуться к началу |
|
|
Коллега Гость
|
Добавлено: Пн Сен 30 2002 13:06 Заголовок сообщения: Re: Вопрос |
|
|
Sorry, проглатывается ASP-скрипт:
Имеется в виду открывающий ограничитель ASP, далее =obj_var.GetHello и закрывающий ограничитель ASP. |
|
Вернуться к началу |
|
|
Илья Гость
|
Добавлено: Пн Сен 30 2002 13:19 Заголовок сообщения: Re: Вопрос |
|
|
Set Obj = CreateObject("WinHttp.WinHttpRequest.5") Obj.Open "POST", "..../test.dll", false Obj.Send "name=value" Возможно ли так. Если да то как передать несколько параметров. Obj.Send "param1=value","param2=value".... ????? |
|
Вернуться к началу |
|
|
Коллега Гость
|
Добавлено: Пн Сен 30 2002 18:28 Заголовок сообщения: Re: Вопрос |
|
|
А, понял, о чем речь. Да, так можно. Несколько параметров тоже можно передать, синтаксис, если не ошибаюсь:
Obj.Send "name1=value1,name2=value2,..." |
|
Вернуться к началу |
|
|
|