Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 103,226
» Latest member: fv88isopokerus
» Forum threads: 2,429
» Forum posts: 11,385

Full Statistics

Online Users
There are currently 1759 online users.
» 2 Member(s) | 1754 Guest(s)
Applebot, Bing, Google, fv88isopokerus, skyrunnerstilts

Latest Threads
CSS in CGDevTools
Forum: IntraWeb General Discussion
Last Post: Alexandre Machado
2 hours ago
» Replies: 1
» Views: 13
KanBan like behaviour
Forum: IntraWeb General Discussion
Last Post: MJS@mjs.us
10-06-2026, 09:31 PM
» Replies: 6
» Views: 677
TContenthandler requires ...
Forum: IntraWeb General Discussion
Last Post: valmeras
10-02-2026, 04:14 PM
» Replies: 1
» Views: 566
TIWSummernote Issue
Forum: IntraWeb General Discussion
Last Post: Alexandre Machado
09-30-2026, 07:34 PM
» Replies: 1
» Views: 276
Reproducible IIS crash in...
Forum: IntraWeb General Discussion
Last Post: alex.trejo@tttnet.com.mx
09-21-2026, 05:33 PM
» Replies: 1
» Views: 628
WebApplication.IP change ...
Forum: IntraWeb General Discussion
Last Post: alex.trejo@tttnet.com.mx
09-21-2026, 05:31 PM
» Replies: 2
» Views: 728
How can I get started? Do...
Forum: CrossTalk General Discussion
Last Post: taggame
09-17-2026, 03:17 AM
» Replies: 2
» Views: 4,427
Hook/callback to handle t...
Forum: IntraWeb General Discussion
Last Post: Lenfors
09-08-2026, 09:03 AM
» Replies: 0
» Views: 468
The packages IW16.xx inc...
Forum: IntraWeb General Discussion
Last Post: hsbelli
09-03-2026, 11:46 AM
» Replies: 2
» Views: 891
Redirection issues with F...
Forum: IntraWeb General Discussion
Last Post: magosk
08-31-2026, 10:03 AM
» Replies: 0
» Views: 513

 
  Difference between Async and Sync events
Posted by: Lenfors - 02-15-2023, 11:36 AM - Forum: IntraWeb General Discussion - Replies (1)

Hello!

I really need to know what the difference is between asynch and synch events!

For instance, I created a new application with only a TIWTimer on the form. Then I created a OnTimerEvent doing nothing.
When run the OnTimerEvent is fired as it should.
Now I added a OnAsynchTimer event to the same IWTimer.
When run now the OnAsynchTimer is fired but not the OnTimerEvent?

Another example:
New empty application with only a event defined for OnResize doing nothing.
When starting the application or resizing the browser window OnResize  is called as expected.
Now creating a OnAsyncResize event. Both OnResize and OnAsyncResize  are called on form creation and browser form resize.

Now I added a IWTimer to the last example and added a OnTimer event to it.
The OnTimerEvent fires as expected but also the forms OnAsyncResize event?!
If I remove the OnTimer event and instead add a OnAsyncTimer the OnAsyncTimer is triggerd as expected but there is no OnAsyncResize triggered.

Is there some documentation about this? I Googled but can't find any good explanation.

Best regards, Mikael

Print this item

  TIWCustomControl's FPageContext field
Posted by: ebob42 - 02-14-2023, 12:25 PM - Forum: IntraWeb General Discussion - Replies (3)

I would like to suggest a possible change in the way IntraWeb custom controls decide to call the UnRegisterAsyncEvents method.

At this time, in IW 15.2.69, the Dispose method of TIWCustomControls only checks to see if IsDesignMode is true. I would like to add another condition to that:

  if Assigned(OwnerForm) and not (OwnerForm as TIWForm).PageContext.Destroying then

This will be faster, since the UnRegisterAsyncEvents will no longer have to do through all controls and all events to unregister them (which is not required, since we are in the Destroy of our main form anyway).

It is also a bit safer, since my code uses an approach with templates where numerous controls are added dynamically to the form, with a temporary PageContext. Since this PageContext often no longer exists when the page is destroyed, I sometimes get access violations (if the custom control's PageContext, which no longer exists, has a Destroying field pointing to some place in memory which just happend to be False).

I've been using the modified IWControl.pas for a while now, without any further problems.

Thanks for your consideration.

Groetjes, Bob Swart

Print this item

  IWAppFormAsyncResize fired without reason
Posted by: Lenfors - 02-14-2023, 10:10 AM - Forum: IntraWeb General Discussion - Replies (2)

Hello!

Discovered another strange ting in IntraWeb 15.2.69.

Try the following:

Create a new IW application and put a TIWTabControl on it.
Add a couple of pages to the TabControl.
Create an event for the forms OnAsynchResize.

When running the application the OnAsynchResize is fired once as it should and you can switch between the pages on the TabControl and no more OnAsynchResize is fired.

Now add an event to the TabControls OnChange event, it can be an empty event doing nothing.

Now when you run the program the OnAsynchResize event is fired on program startup as it should, but it's also fired every time you change page in the page control!

This is a big issue for me as I use the OnAsynchResize event for rescaling every component on the form.

Am i missing soething here? Is this normal behaviour?

Best regards, Mikael


object IWForm2: TIWForm2
  Left = 0

  Top = 0

  Width = 555

  Height = 400

  RenderInvisibleControls = True

  AllowPageAccess = True

  ConnectionMode = cmAny

  OnAsyncResize = IWAppFormAsyncResize

  Background.Fixed = False

  HandleTabs = False

  LeftToRight = True

  LockUntilLoaded = True

  LockOnSubmit = True

  ShowHint = True

  DesignLeft = 3

  DesignTop = 3

  object IWTabControl1: TIWTabControl

    Left = 96

    Top = 72

    Width = 305

    Height = 225

    RenderInvisibleControls = True

    OnChange = IWTabControl1Change

    ActiveTabFont.Color = clWebWHITE

    ActiveTabFont.FontFamily = 'Arial, Sans-Serif, Verdana'

    ActiveTabFont.Size = 10

    ActiveTabFont.Style = [fsBold]

    ActiveTabFont.PxSize = 13

    InactiveTabFont.Color = clWebBLACK

    InactiveTabFont.FontFamily = 'Arial, Sans-Serif, Verdana'

    InactiveTabFont.Size = 10

    InactiveTabFont.Style = []

    InactiveTabFont.PxSize = 13

    ActiveTabColor = clWebDARKGRAY

    InactiveTabColor = clWebLIGHTGRAY

    ActivePage = 0

    BorderOptions.NumericWidth = 0

    BorderOptions.Style = cbsNone

    Color = clWebSILVER

    ClipRegion = False

    TabPadding = 0

    ActiveTabBorder.Color = clWebBLACK

    ActiveTabBorder.Width = 0

    InactiveTabBorder.Color = clWebBLACK

    InactiveTabBorder.Width = 0

    DesignSize = (

      305

      225)

    object IWTabControl1Page0: TIWTabPage

      Left = 0

      Top = 20

      Width = 305

      Height = 205

      RenderInvisibleControls = True

      Title = 'Page0'

      BorderOptions.NumericWidth = 0

      BorderOptions.Style = cbsNone

      Color = clWebWHITE

    end

    object IWTabControl1Page1: TIWTabPage

      Left = 0

      Top = 20

      Width = 305

      Height = 205

      RenderInvisibleControls = True

      TabOrder = 1

      Title = 'Page1'

      BorderOptions.NumericWidth = 0

      BorderOptions.Style = cbsNone

      Color = clWebWHITE

    end

  end
end



unit Unit2;
interface

uses

  Classes, SysUtils, IWAppForm, IWApplication, IWColor, IWTypes,

  IWCompTabControl, Vcl.Controls, Vcl.Forms, IWVCLBaseContainer, IWContainer,

  IWHTMLContainer, IWHTML40Container, IWRegion;

type

  TIWForm2 = class(TIWAppForm)

    IWTabControl1: TIWTabControl;

    IWTabControl1Page0: TIWTabPage;

    IWTabControl1Page1: TIWTabPage;

    procedure IWAppFormAsyncResize(Sender: TObject; EventParams: TStringList);

    procedure IWTabControl1Change(Sender: TObject);

  public

  end;

implementation

{$R *.dfm}



procedure TIWForm2.IWAppFormAsyncResize(Sender: TObject; EventParams: TStringList);

begin

// Put breakpoint here if you want to see when it's fired

end;



// If this function is removed everything works fine!

procedure TIWForm2.IWTabControl1Change(Sender: TObject);   

begin

//

end;



initialization

  TIWForm2.SetAsMainForm;


end.

Print this item

Question SSL Certificate for stand alone IW Server
Posted by: rudyPos - 02-10-2023, 11:59 PM - Forum: IntraWeb General Discussion - Replies (12)

I have a stand alone IW web server not associated with a IIS web server for example.
I have successfully used a self signed certificate created with the IWCertificateManager.exe.

In the browsers used there is the warning (error) message stating the web site is unsafe (self signed cert).
Allowing the exception then proceeds to the web page(s) and all is well.

I recently decided to use a proper SSL certificate (Sertigo in my case) and I was able to use the certificate
files successfully in the application, HOWEVER now the browser produces a warning (error) message that
the web site is unsafe because the certificate is for a domain, not 127.0.0.1 for example (allow exception etc).  Tech support
for Sertigo indicated in that case a self signed certificate can be used.

I know cyber security is paramount so I am asking what am I missing?  Most notes I read about self signed certificates
is that they are not to be used 'in production'.  Some other posts here on this forum I saw comments that the IWCertificateManager.exe is shipped with other IW applications. How is that carried out at the end site?
I do not think you can get proper SSL Certificate without a domain (a.com or www.a.com). I saw that the more
expensive certificates allow "more" wildcards for the domain parameter(s) but I do not think that is what is needed
for a stand alone IW app.

Any comments or guidance is greatly appreciated.
I stand alone...

Print this item

  Indy on windows 2022 server
Posted by: mike.price@asterox.net - 02-10-2023, 02:54 PM - Forum: Indy - Replies (1)

I am programming a rest sever in Delphi 11 It has the standard Indy 10.6.2.0 installed.  Ssleay32.dll and libeay32.dll are in the same directory as the exe. When run on development machine all starts ok.
Copy exe and the dll’s to a directory on my windows 2022 server and it gives  ‘could not load ssl library’ I have set in code IdOpenSSLSetLibPath('c:\TestDLL') which I believe should not be necessary if the dlls are in the same directory still the same error. I have installed Indy directly on the server same error.
The rest server used to run ok on Microsoft server 2012 is there settings I am missing on new server?

Print this item

  download IntraWeb 15.2.35
Posted by: schkri - 02-10-2023, 01:25 PM - Forum: IntraWeb General Discussion - Replies (1)

Hello,

Link is broken, i need this version.

Link: 404 Not Found (atozed.com)
(https://downloads.atozed.com/intraweb/iw15.2.35.exe)

thanks,
Krisztian

Print this item

  AlignWithMargins not working correctly i Asynch calls
Posted by: Lenfors - 02-08-2023, 02:21 PM - Forum: IntraWeb General Discussion - Replies (3)

Hello!

Try this: 
Put an TIWRegion on a form (greater than 100, 100)
Put a TWButton in the Region
Set the Button.Align to alClient
Set the Button.Margins to 20,20,20,20

All this works fine, the button fills the entire region.

If you now add an event to the Button as:
procedure TIWForm1.IWButton1AsyncClick(Sender: TObject; EventParams: TStringList);
begin
  IWButton1.AlignWithMargins := Not IWButton1.AlignWithMargins;
end;


The AlignWithMargins will toggle when clicking the button, but the top and left positions are not set to 0 when AlignWithMargins is set to False and scrollbars appear in then Region control.

I tried the same function but in the Button1.OnClick event and then it works!? When AlignWithMargins is set to False the Button is reset to its original position filling the entire Region.

Is this a bug or as it should be? Maybee It's my lack of understanding of the Asynch and Synch events  Smile
Whats the difference between Asynch and Synch events and when should they be used?

Best asynch regards, Mikael

Print this item

  Idhttpserver force Login/password
Posted by: BartKindt - 02-05-2023, 09:44 PM - Forum: Indy - Replies (1)

I am writing a IdHttpsServer application, which requires that the connecting web browser login with username and password.

I am not a HTML specialist, but I remember that basic authentication would pop-up a (what looks like) *internal* web browser window where the Login and Password can be entered, after which these are send back to the Server in the 'Basic' authentication format.

So they show up in ARequestInfo.AuthUsername and ARequestInfo.AuthPassword.

How do I 'force' this to happen on the Browser side?  I was looking for a IdHttpsServer option to force this request, but can't find anything; So it must be a special HTML command/webpage to generate this on the browser side?

Print this item

  Terminating IntraWeb sessions
Posted by: JuergenS - 02-04-2023, 01:04 PM - Forum: IntraWeb General Discussion - Replies (2)

Hi Alexandre,

i get an EIWSecurityException if try to use the new Event OnAsyncPageUnloaded

------------------------------------------------------------------------------------------------------------------------
Exception message  : Invalid page context
Security check failed. Please restart the application.
Exception class    : EIWSecurityException
Exception address  : 009B32F5
Exception Time    : 2023-02-04 13:40:22.155
------------------------------------------------------------------------------------------------------------------------
Application Name  : ???
Application Version: ???
Started at        : 2023-02-04 13:39:45.585
Running for        :  36 seconds
Computer Name      : ???
Compiler Version  : 350
------------------------------------------------------------------------------------------------------------------------
IntraWeb Version  : 15.2.69
Multi-session      : False
Content Path      : ???
Session count      : 1
Application Path  : ???
Active Form        : IWA_Frm_Main (TIWA_Frm_Main)
Active Form list  : [1] IWA_Frm_Main (TIWA_Frm_Main)
Form list          : [1] IWUserSession (TIWUserSession)
                    [2] IWC_Session (TIWC_Session)
                    [3] IWA_Frm_Main (TIWA_Frm_Main)
Browser Name      : Firefox
Browser UserAgent  : Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0
Session ID        : MZnkcD~D7TiJN-DaHvuZrSv4AMC
Last Access        : 2023-02-04 13:40:21.488
Callback          : True
Callback name      : DoOnAsyncPageUnloaded
Runtime parameters :
------------------------------------------------------------------------------------------------------------------------
Client IP address  : 127.0.0.1
Request PathInfo  : /$/callback
Request Method    : POST
Request User Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0
Cookies Count      : 1
------------------------------------------------------------------------------------------------------------------------
[Stack trace is empty]
------------------------------------------------------------------------------------------------------------------------

void setAsMainForm()
{
TIWA_Frm_Main::SetAsMainForm();
}

Regards
Juergen

Print this item

  Set summernote text programatically
Posted by: john.burgess - 02-04-2023, 12:15 AM - Forum: IntraWeb General Discussion - Replies (5)

When setting the textarea of TIWSummernote (e.g. IWSummernote1.Lines.Add('...'); ) programmatically, the control acts as expected, nicely rendering formatted HTML text.

However, if the control is rendered in a project using bootstrap template, the text area appears to be rendered in a separate frame which does not occupy the full width, and the html is shown as a literal sting.

   

The code I am using in both scenarios is the same:
IWSummernote1.Lines.Add('<p>Hello<br><b>World</b></p>');

Using Intraweb 15.6.9 ultimate.

Print this item