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
Apache Server 2.0 TsiLang Components
-
- Posts: 5
- Joined: Fri Apr 18, 2003 7:14 pm
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
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
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?
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
Serghei Gaivan
-
- Posts: 5
- Joined: Fri Apr 18, 2003 7:14 pm