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

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

Проблемы с CGI-приложениями [D7, WinME]


SergProger ©   (2006-05-01 13:00:00) 

Всем привет! Люди, объясните мне пожалуйста, как писать CGI-приложения. Пробовал написать такое:

program CGI_test;
{$APPTYPE CONSOLE}
{$E CGI}
begin
 WriteLn('<HTML>');
 WriteLn('<HEAD>');
 WriteLn('<TITLE>Простейшее CGI приложение</TITLE>');
 WriteLn('<META http-equiv="Content-Type" content="text/html; charset=windows-1251">');
 WriteLn('</HEAD>');
 WriteLn('<BODY>');
 WrОтiteLn('<CENTER><H1>HELLO WORLD</H1></CENTER>');
 WriteLn('</BODY>');
 WriteLn('</HTML>');
end.

Компилируется нормально, но на сервере запускаться оно не хочет. Объясните мне, в чём проблема?


SergProger   (2006-06-01 01:39:00) [1]

Но всё-таки, даже с процедурой WriteFile приложение не хочет работать. Кроме того, я выяснил, что сервер работает под Unix. Зацените работу, если хотите >>> http://sergproger.h16.ru


SergProger   (2006-05-03 13:09:00) [2]

OK, спасибо, понял. Дело в том, что с WriteFile я впервые сталкиваюсь... :-)


DrPass   (2006-05-02 00:19:00) [3]

А что там сложного?
uses
 windows;
var
 h: THandle;
 cnt: cardinal;
begin
 h:= GetStdHandle(STD_OUTPUT_HANDLE);
 WriteFile(h, '<HTML>', 6, cnt, nil);
 WriteFile(h, '<HEAD>', 6, cnt, nil);
 WriteFile(h, '<TITLE>Простейшее CGI приложение</TITLE>',
   length('<TITLE>Простейшее CGI приложение</TITLE>'), cnt, nil);
end.


SergProger   (2006-05-01 23:05:00) [4]

Вот если бы кто-нибудь мне объяснил, как пользоваться процедурой WriteFile...


DrPass   (2006-05-01 16:30:00) [5]


> Sergey Masloff   (01.05.06 14:44) [8]

Спорить не буду, но когда у меня возникла необходимость перехватить вывод консольного приложения, программа напрочь отказалась принимать консольку с writeln. А WriteFile - на ура


Sergey Masloff   (2006-05-01 14:44:00) [6]

DrPass ©   (01.05.06 14:31) [7]
Пишет-пишет.
Кстати вышеприведенный код работает


DrPass   (2006-05-01 14:31:00) [7]

Попробуй вместо writeln попользовать GetStdHandle(STD_HANDLE_OUTPUT) и соответственно WriteFile. Как показывает практика, writeln НЕ ПИШЕТ в стандартный поток вывода, а выводит сразу на консоль.


Sergey Masloff   (2006-05-01 14:20:00) [8]

TUser ©   (01.05.06 14:16) [5]
>на сервере тебе разрешено запускать виндоусовские программы в >качестве cgi?
Вот я тоже удивился

Кстати заголовки можно не писать если сервер под виндой все будет работать


TUser   (2006-05-01 14:16:00) [9]

А http заголовки не надо писать?

Кроме того, - на сервере тебе разрешено запускать виндоусовские программы в качестве cgi?


SergProger   (2006-05-01 13:43:00) [10]

Сервер www.yard.ru Та же проблема на сервере www.holm.ru


Anatoly Podgoretsky   (2006-05-01 13:34:00) [11]

Серверу можно верить.


SergProger   (2006-05-01 13:33:00) [12]

Сервер поддерживает CGI, файл находится в нужном каталоге, при запуске пишет: "CGI script error".


alex-drob   (2006-05-01 13:21:00) [13]

На сервере поддержка cgi есть?
Файл находиться в каталоге cgi-bin?
Что происходит при запуске файла на сервере?


Наверх

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