[Lazarus] Web Module not works on Linux

Michael Van Canneyt michael at freepascal.org
Sun Nov 21 13:22:14 CET 2010



On Sun, 21 Nov 2010, Mattias Gaertner wrote:

> On Sun, 21 Nov 2010 11:56:03 +0100 (CET)
> Michael Van Canneyt <michael at freepascal.org> wrote:
>
>>
>>
>> On Sat, 20 Nov 2010, Joost van der Sluis wrote:
>>
>>> On Sat, 2010-11-20 at 21:07 +0100, Michael Van Canneyt wrote:
>>>>
>>>> On Sat, 20 Nov 2010, Joost van der Sluis wrote:
>>>>
>>>>> On Fri, 2010-11-19 at 23:31 +0100, michael.vancanneyt at wisa.be wrote:
>>>>>>
>>>>>> On Fri, 19 Nov 2010, silvioprog wrote:
>>>>>>
>>>>>>> Hi guys,
>>>>>>>
>>>>>>> Attached I send a project to reproduce the error. To reproduce the error,
>>>>>>> adds in "cgitest.lpr" the directive:
>>>>>>>
>>>>>>> {$DEFINE SOLVES_ERROR}
>>>>>>>
>>>>>>> On Ubuntu-10.10 I receive this error:
>>>>>>>
>>>>>>> -------
>>>>>>> Internal Server Error
>>>>>>>
>>>>>>> The server encountered an internal error or misconfiguration and was unable
>>>>>>> to complete your request.
>>>>>>>
>>>>>>> Please contact the server administrator, webmaster at localhost and inform them
>>>>>>> of the time the error occurred, and anything you might have done that may
>>>>>>> have caused the error.
>>>>>>>
>>>>>>> More information about this error may be available in the server error log.
>>>>>>> Apache/2.2.16 (Ubuntu) Server at localhost Port 80
>>>>>>> -------
>>>>>>>
>>>>>>> In Windows (7) works normally.
>>>>>>>
>>>>>>> How can I fix this?
>>>>>>>
>>>>>>> PS. I'll need to use the unit Interfaces.
>>>>>>
>>>>>> Well, you can not use it in a CGI application.
>>>>>> Interfaces is for GUI support. A CGI by definition has no GUI.
>>>>>>
>>>>>> It makes no sense to use it. Why would you need that ?
>>>>>
>>>>> For example to use the streaming mechanisms (lfm, resources)?
>>>>
>>>> You can perfectly use them without the interfaces unit.
>>>> I do it all the time.
>>>
>>> I've looked into it again, why this was done. And it is for example
>>> impossible to use an .lrs file without the lResources unit. Now this is
>>> not needed anymore so this might have solved the problem.
>>
>> I know that you need the lresources unit.
>> What I am saying is that you can just include the lresources unit,
>> there is no need for the interfaces unit.
>>
>> I do it in all my projects. And they all use the 'old' lazarus resources,
>> they all use the 'lresources' unit, none uses the interfaces unit.
>
> Note: The units Forms and Controls require the interfaces unit.
> The Application.CreateForm is from the unit Forms.

Correct. But:
1. Web applications have their own application object.
2. Web applications have no use for CreateForm(). They don't have forms.
    All modules are created dynamically.

If someone codes forms.application.createform() in a web or even console app, 
then he is of course coding something totally wrong :-)

Michael.




More information about the Lazarus mailing list