TSplashScreen Broken

I'm getting an AV on loading a project that uses TSplashScreen on 10.1.0.0 and 10.1.1.0 versions of the pack.  I rolled back to 10.0.8.0 and it's working.

How can this be reproduced?

I tested the demo and it is working without any issue.
Adding to a new project is ok.  The error when opening a form from my current project is:

"Error reading SplashScreen.Fill.Picture.Data: Access violation at address 5003A116 in module 'rtl150.bpl'. Read of address E0FFD8DD."

Our demo is also an existing application and has no issues.
What is different in your project? How can this be reproduced?

I have no idea.  The exception occurs as soon as the form is opened in the IDE (Delphi XE).

There must be something about the picture that the newer version doesn't like?  The exact same code/data works fine with the 10.0.8.0 version.

Please provide a sample source project with which we can reproduce the problem here.

Here you go: LINK

  1. The project file you sent had no forms. I added unit6 myself
    2) Compiling a running project5 causes an empty form to appear
    3) I see that SplashScreen.AutoShow = false, when I set this to true and start the project, the splash screen appears here. I do not see an error.

Sorry, that zip file had wrong files in it.  I have uploaded the correct one. Same link.

In this project, no form is created, hence nothing happens, since TAdvSmoothSplashScreen is in a form unit that is not being used.

I have uploaded the project again: LINK

You don't get it, do you?
Your project has a unit, but NO form! Hence SplashScreen is not shown.

Pls check the project options (see below), where you can verify that there are no forms configured!


On the right project tree remove unit6.pas and re-add it. Then the form6 is added as well.
You can see this in the dpr file:

program Project6;

uses
  Forms,
  Unit6 in 'Unit6.pas' {Form6};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm6, Form6);
  Application.Run;
end.
And once you set Splashscreen.Autoshow to True the spalsh screen is shown.


No need to be rude.  I understood exactly when it was said there was no form in the project.Something obviously went wrong as it was configured correctly when I checked it.

Anyway, with Delphi XE and the latest version of the component pack I still have the same issue.  Could it be something to do with XE ?

And to reiterate, the same project works fine with version v10.0.8.0 of the component pack.

I've compared the 2 versions of the "AdvSmoothSplashScreen.pas" file.

In the function "DrawGDIPImage", there is some conditional code for XE:

  {$IFDEF DELPHIXE_LVL}
  if Pic.HasSVG then
  begin
    Pic.DrawSVG(graphics, P.X, P.Y, Pic.Width, Pic.Height);
    Exit;
  end;
  {$ENDIF}

This seems like it could be the issue?  What's the best way to try without that section?

Does the AV happen in this part of the code?

Put a breakpoint there and step through it.

The AV occurs as soon as the IDE tries to load the form, so the build / exe never happens.

No ideas on how to solve this issue?

Can I recompile the component suit with the older version of the splash component?