Icon View Thread

The following is the text of the current message along with any replies.
Messages 11 to 18 of 18 total
Thread Reportbuilder reports/pdf module
Tue, May 23 2017 1:15 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Hüseyin,

<< - It seems that tplugin rendering/pdf from ide internal web server does not work or at least i could not get it to display the pdf, it works (displays) when opening from the external browser while internal web server runs in the background. >>

It works here with IE11 installed (Windows 10).

<< - As i am using reportbuilder i need to use querys/datasources within the ewb module, but here i have a strange issue, when i put a tdatabase and set it's state to connected - running from internal webserver it
gives an error when calling tserverrequest: >>

As Uli says, you need to make sure that your database access is thread-safe.  The easiest way to do this is to set the TDBISAMSession.AutoSessionName property to True.

Tim Young
Elevate Software
www.elevatesoft.com
Tue, May 23 2017 5:09 PMPermanent Link

Huseyin Aliz

myBiss ApS

Avatar

Uli/Tim,

Thanks. Besides TDBISAMSession.AutoSessionName, i have also adjusted
TDBISAMDatabase.Directory (currently setting to same path as module
filename). Is there any issues (security or other) for having the dll
(module) same place as the database?

Regards,

Hüseyin


Den 23-05-2017 kl. 19:15 skrev Tim Young [Elevate Software]:
> Hüseyin,
>
> << - It seems that tplugin rendering/pdf from ide internal web server does not work or at least i could not get it to display the pdf, it works (displays) when opening from the external browser while internal web server runs in the background. >>
>
> It works here with IE11 installed (Windows 10).
>
> << - As i am using reportbuilder i need to use querys/datasources within the ewb module, but here i have a strange issue, when i put a tdatabase and set it's state to connected - running from internal webserver it
> gives an error when calling tserverrequest: >>
>
> As Uli says, you need to make sure that your database access is thread-safe.  The easiest way to do this is to set the TDBISAMSession.AutoSessionName property to True.
>
> Tim Young
> Elevate Software
> www.elevatesoft.com
>
Wed, May 24 2017 12:58 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Hüseyin,

<< Thanks. Besides TDBISAMSession.AutoSessionName, i have also adjusted TDBISAMDatabase.Directory (currently setting to same path as module filename). Is there any issues (security or other) for having the dll (module) same place as the database? >>

No, but make sure that neither are located in or underneath the content folder for the EWB Web Server.  Otherwise, someone can just download either with the proper amount of snooping around.

Tim Young
Elevate Software
www.elevatesoft.com
Fri, May 26 2017 3:23 AMPermanent Link

Huseyin Aliz

myBiss ApS

Avatar

Ok, thanks.


Den 24/05/2017 kl. 18.58 skrev Tim Young [Elevate Software]:
> Hüseyin,
>
> << Thanks. Besides TDBISAMSession.AutoSessionName, i have also adjusted TDBISAMDatabase.Directory (currently setting to same path as module filename). Is there any issues (security or other) for having the dll (module) same place as the database? >>
>
> No, but make sure that neither are located in or underneath the content folder for the EWB Web Server.  Otherwise, someone can just download either with the proper amount of snooping around.
>
> Tim Young
> Elevate Software
> www.elevatesoft.com
>
Fri, Apr 28 2023 2:20 AMPermanent Link

George

Hi, I am try to do something similar, creating an external module, using EWB 3 and delphi 11

>> Sample code Module:
>>
>> procedure TMyModule.EWBModuleExecute(Request: TEWBServerRequest);
>> var
>>    TempAction, TempName: string;
>> begin
>>     // This is the right place to parse what the client has sent:
>>     TempAction := RequestParams.Values['Action'];
>>     TempName := RequestParams.Values['Name'];
>>
>>    if SameText(TempAction, 'CreateReport') then
>>     begin
>>       if SameText(TempName, 'PrintAllInvoices') then
>>       begin
>>         try
>>           // Execute here your code to print all invoices:
>>           DoPrint;
>>       //If successful send this StatusCode back to the client:
>>           //HTTP_OK (200) - SendContent('') does that for you
>>           SendContent('');
>>         except
>>           // you'll find all StatusCode constants in webhttp.wbs
>>           on e: Exception do
>>             SendError(HTTP_INTERNAL_ERROR, e.Message);
>>         end;
>>       end;
>>     end
>>     ...
>> end;
>>
>

however it seems that TEWBServerRequest does not have a SendContent method and I get a compile error.
What am I missing here? I would appreciate your help on this.
Sat, Apr 29 2023 6:33 AMPermanent Link

Walter Matte

Tactical Business Corporation

George - if you look at the release notes for Breaking Changes  ... 3.02 - The TEWBServerRequest class name has been changed to TEWBWebServerRequest in order to be more compatible with the interpreted server application component naming scheme and to avoid clashing with the new TEWBServerRequest component (see below).....

You should be using TEWBWebServerRequest ......

Walter


George wrote:

Hi, I am try to do something similar, creating an external module, using EWB 3 and delphi 11

>> Sample code Module:
>>
>> procedure TMyModule.EWBModuleExecute(Request: TEWBServerRequest);
>> var
>>    TempAction, TempName: string;
>> begin
>>     // This is the right place to parse what the client has sent:
>>     TempAction := RequestParams.Values['Action'];
>>     TempName := RequestParams.Values['Name'];
>>
>>    if SameText(TempAction, 'CreateReport') then
>>     begin
>>       if SameText(TempName, 'PrintAllInvoices') then
>>       begin
>>         try
>>           // Execute here your code to print all invoices:
>>           DoPrint;
>>       //If successful send this StatusCode back to the client:
>>           //HTTP_OK (200) - SendContent('') does that for you
>>           SendContent('');
>>         except
>>           // you'll find all StatusCode constants in webhttp.wbs
>>           on e: Exception do
>>             SendError(HTTP_INTERNAL_ERROR, e.Message);
>>         end;
>>       end;
>>     end
>>     ...
>> end;
>>
>

however it seems that TEWBServerRequest does not have a SendContent method and I get a compile error.
What am I missing here? I would appreciate your help on this.
Sat, Apr 29 2023 6:43 AMPermanent Link

Walter Matte

Tactical Business Corporation



In the Example Contact Form installed with EWB Modules - see the parameter passed in is now TEWBWebServerRequest.

{ Here we just pass the request to the database adapter to handle }

procedure TContactFormModule.EWBModuleExecute(Request: TEWBWebServerRequest);
begin

// Handle the request here.......

end;
Mon, May 1 2023 2:42 AMPermanent Link

George

Walter Matte wrote:



In the Example Contact Form installed with EWB Modules - see the parameter passed in is now TEWBWebServerRequest.

{ Here we just pass the request to the database adapter to handle }

procedure TContactFormModule.EWBModuleExecute(Request: TEWBWebServerRequest);
begin

// Handle the request here.......

end;

Thanks Walter, that was very helpful!

Tim has to update the templates for new projects, as they still have the old definition and can cause confusion.
« Previous PagePage 2 of 2
Jump to Page:  1 2
Image