I have been using the TMS VCL component set for a while and have never had any major issues. However, I recently discovered that programs that I am making using smooth buttons tend to crash on exit on computers with Atom CPUs.
These are simple programs that use one smooth button. They are compiled as DLLs with Delphi 2007. When the dll close the system either hangs or comes up with a "send to microsoft" dialog.
I have updated to the latest version but I am still having this issue.
Has anyone come across anything similar?
Is there any thing I can do to unload the button before exiting? I will play around with a demo program to tomorrow to see if I can narrow the problem down. I was hoping the update to latest component version would od the trick but it appears to have failed.
We've never received a similar problem report before. What OS is running on the machine that has a problem?
Do you have some sample source project with which we can reproduce the problem here?
Hi
I have stripped the unit right down and I have included a basic second executable that opens the dll.
The starter unit calls the dll which only displays a smooth button. Clicking that button closes the dll form. You return to the starter executable - pressing close then results in a windows error.
So far I have only had this issue on machines that have atom CPU, Windows XP but different manufacturers. Acer, MSI and Asus.
----
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
AdvSmoothButton;
type
TForm1 = class(TForm)
AdvSmoothButton2: TAdvSmoothButton;
procedure AdvSmoothButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.AdvSmoothButton1Click(Sender: TObject);
begin
close;
end;
end.
-----
http://www.orangepeelsystems.com/temp/Achievements.zip
I have attached the executables and the source code here.
I love the smooth controls so I really would like to see if we can work out what is going on.
Regards
Ralph
One more thing - if I turn the DLL into an executable there is not crash.
Is this with TMS Component Pack v5.9.01?
If not, can you please first test with this version?
Correct 5.9.0.1 - remember so far I have only found this issue on computers with a atom cpu
I cannot see any reason that there is something CPU specific in our code.
Can you please verify the version of GDIPLUS.DLL on these systems? Perhaps something is wrong with the GDIPLUS.DLL on this specific machine with Atom CPU.
I am sure there is no cpu specirfic code but that doesn't mean cpus don't handle code differently.
I have not been able to test this idea (GDIPLUS) yet but I believe it is very unlikely as it occurs with windows xp with sp3 on computers from different manuafacturers. I have seen it occur on at least 4 different computers.
Did you try the code I sent? i.e., did you try to replicate on a computer with a atom cpu?
I now have a windows 7 computer with an atom cpu available so I will try it on that one.
I have now also been able to replicate on a Pentium D 3Ghz (hyperthreaded) with Windows 7 64 bit - remove the smoothbutton and the problem goes away.
We have tested your sample application here and are unable to reproduce this issue.
Pieter Scheldeman2011-02-14 03:40:53
HI Thanks for doing that.
We will investigate this here and see if we can reproduce this on different machines.
The latest build hasn't changed this issue. Luckily teh other components don't have the same problem (fingers xed as I have only used a handful in DLLs). Instead of smoothbuttons I have had to use glassbuttons. They will do, I suppose.