Apache Server 2.0 TsiLang Components

All announcements, questions and issues related to the TsiLang Components Suite.
Post Reply
Hur Akdulger
Posts: 5
Joined: Fri Apr 18, 2003 7:14 pm

Apache Server 2.0 TsiLang Components

Post by Hur Akdulger »

Hi all,

Development: Delphi 7, Kylix 3, TsiLang 5.2.2, Windows XP
Production (current): Windows NT 4.0, Apache Server 2.x
Production (In the future): Linux Red Hat 9.0

I have got an Web Services server application.
It runs on Apache Server.
It was running before language modifications.

But after modifications, I cannot load shared DLL's to Apache server.

I have found the reason of the problem.
I think it is depended to "QForms.Application" variable.
On Apache Shared Module applications (DLLs),
"QForms.Application" variable is uninitialized.
Because shared module DLLs uses different application variable.
I have inspected to CLX based source of siLang,
and I have seen a lot of QForms.Application variable like this:

//constructor TRegistry.Create(Sender: TObject);
//begin
// inherited Create(ExtractFilePath(Application.ExeName) +
// Sender.ClassName + '.ini');
//end;


I don't want to replace all of them.

But, I want to return different error, exception or information messages to web services client.

How can I do this?

Thanx for advance.

Hür Akdülger
gaivans
Posts: 71
Joined: Fri Nov 29, 2002 4:10 pm

Post by gaivans »

Hello,

What type of TsiLang do you use?
Best regards,
Serghei Gaivan
Hur Akdulger
Posts: 5
Joined: Fri Apr 18, 2003 7:14 pm

Post by Hur Akdulger »

I have got some runtime packages, pkgA, pkgB, pkgC, etc.
All of packages have some warning, information, error, exception or information messages.
These packages use TsiLangLinked on TDataModule descendant for multi-language.

And there is a common dispatcher unit.

TsiLangLinked components connect to dispatcher on OnCreate event of their DataModules at runtime. Like below:

(*
procedure TlngLibDatCli.DatamoduleCreate(Sender: TObject);
begin
LangLinked.LangDispatcher:= CommonLng.lngCommon.LangDispatcher;
UpdateStrings;
end;
*)

And I have created all DataModules at startup in initilization section of unit.

(*
initialization
lngLibDatCli:= TlngLibDatCli.Create(NIL);
*)

This is necessary for me, because these packages are using in different projects. And I don't want to write a line of code for creation of my language datamodule in project source.

My CLX based WAD (web application debugger) applications are run very well. Because, they are Windows EXE, and they use right "Application" variable.

But I would like to use Apache Server for cross platform (Windows/Linux) web services applications.

In fact, my problem is more complex than these descriptions.
Because there are two applications written in Delphi/Kylix.
One of them for web services client, other one for web services server.
Usually these applications use same runtime packages.
I cannot see the problems of this way.
I will learn...

Thanx for advance.

Bye.

Hür
gaivans
Posts: 71
Joined: Fri Nov 29, 2002 4:10 pm

Post by gaivans »

Hello,

The matter is that the variable QForm.Application: TApplication is used in the following situations:
1) In the MessageDlg and MessageDlgPos methods of TsiCustomLang;
2) In the TsiFormStorage component;
3) In the design-time editors of TsiCustomLang components (through QRegistry);
4) In the run-time Translation Editor of TsiLangRT component;

Do not you use MessageDlg or MessageDlgPos functions?
Best regards,
Serghei Gaivan
Hur Akdulger
Posts: 5
Joined: Fri Apr 18, 2003 7:14 pm

Post by Hur Akdulger »

I have developed a program. It is using TsiLang language features.
But I can't run (or load) shared DLLs to Apache Server.
I can't solve this problem.
I think it depends to QForms.Application variable.


How can I run my shared DLLs on Linux or Windows Apache Server 2.x?

Thanx for all.

Hür Akdülger
Post Reply