Print Page | Close Window

TSplashScreen Broken

Printed From: TMS Software
Category: VCL Components
Forum Name: VCL General
Forum Discription:
URL: http://www.tmssoftware.com/site/forum/forum_posts.asp?TID=14356
Printed Date: 26 Feb 2020 at 7:03am


Topic: TSplashScreen Broken
Posted By: Duffy David
Subject: TSplashScreen Broken
Date Posted: 08 Dec 2019 at 1:16am
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.



Replies:
Posted By: Bruno Fierens
Date Posted: 08 Dec 2019 at 9:27am
How can this be reproduced?
I tested the demo and it is working without any issue.


Posted By: Duffy David
Date Posted: 09 Dec 2019 at 12:39am
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."


Posted By: Bruno Fierens
Date Posted: 09 Dec 2019 at 11:00am
Our demo is also an existing application and has no issues.
What is different in your project? How can this be reproduced?


Posted By: Duffy David
Date Posted: 09 Dec 2019 at 9:46pm
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.


Posted By: Bruno Fierens
Date Posted: 09 Dec 2019 at 9:50pm
Please provide a sample source project with which we can reproduce the problem here.


Posted By: Duffy David
Date Posted: 09 Dec 2019 at 11:39pm
Here you go: http://www.users.on.net/~avd/temp/Splash-Project.zip - LINK



Posted By: Bruno Fierens
Date Posted: 10 Dec 2019 at 10:29am
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.


Posted By: Duffy David
Date Posted: 10 Dec 2019 at 11:53pm
Sorry, that zip file had wrong files in it.  I have uploaded the correct one. Same link.


Posted By: Bruno Fierens
Date Posted: 11 Dec 2019 at 11:54am
In this project, no form is created, hence nothing happens, since TAdvSmoothSplashScreen is in a form unit that is not being used.


Posted By: Duffy David
Date Posted: 19 Dec 2019 at 12:49am
I have uploaded the project again: http://www.users.on.net/~avd/temp/Splash-Project2.zip - LINK


Posted By: Stefan Grube
Date Posted: 19 Dec 2019 at 12:18pm
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!




Posted By: Stefan Grube
Date Posted: 19 Dec 2019 at 12:20pm
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.


Posted By: Stefan Grube
Date Posted: 19 Dec 2019 at 12:25pm
And once you set Splashscreen.Autoshow to True the spalsh screen is shown.




Posted By: Duffy David
Date Posted: 22 Dec 2019 at 1:10am
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 ?


Posted By: Duffy David
Date Posted: 22 Dec 2019 at 1:12am
And to reiterate, the same project works fine with version v10.0.8.0 of the component pack.


Posted By: Duffy David
Date Posted: 22 Dec 2019 at 1:48am
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?


Posted By: Bruno Fierens
Date Posted: 22 Dec 2019 at 11:02am
Does the AV happen in this part of the code?
Put a breakpoint there and step through it.


Posted By: Duffy David
Date Posted: 22 Dec 2019 at 12:54pm
The AV occurs as soon as the IDE tries to load the form, so the build / exe never happens.


Posted By: Duffy David
Date Posted: 26 Dec 2019 at 10:41pm
No ideas on how to solve this issue?

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


Posted By: Duffy David
Date Posted: 02 Jan 2020 at 11:19pm
Just downloaded latest version of the pack and same error.  What do I need to do to get help with this? I can't use any of the latest updates that I've paid for.


Posted By: Duffy David
Date Posted: 02 Jan 2020 at 11:34pm
I think I'll just dump the splash screen for now so I can at least continue development with the updated components.


Posted By: Duffy David
Date Posted: 03 Jan 2020 at 7:34am
I managed to load the form by editing the dfm file and removing the picture data.

I can select a new image at design time, but when the app runs, I get an exception in TAdvUtils.GetImageType at line 1847: "if (CompareMem(@ImageData.Header[0], {$IFDEF LCLLIB}@{$ENDIF}LBuffer{$IFDEF LCLLIB}[0]{$ENDIF}, ImageData.Length) ) then"

This function only seems to be used for Delphi XE so that's why you haven't seen the issue.  What can be done with that information?


Posted By: Pieter Scheldeman
Date Posted: 07 Jan 2020 at 9:11am
Hi, the code is used from Delphi XE and newer, so we should be able to see the issue here, however we are unable to trace the issue. Can you perhaps try to programmatically load the image at runtime and see if that still triggers the issue? If it does, then please send us the code and image you have used to reproduce the issue. You can send the sample to support@tmssoftware.com


Posted By: Duffy David
Date Posted: 09 Jan 2020 at 1:40am
Email sent with project and image files that shows the issue.


Posted By: Bruno Fierens
Date Posted: 10 Jan 2020 at 9:10am
We answered your support email.


Posted By: Duffy David
Date Posted: 10 Jan 2020 at 8:51pm
Good to hear you found the issue.  Looking forward to the updated files.



Print Page | Close Window