16-03-2013, 03:20 PM
ALmuhhnad كتب :هذا عرض فلاشي سريع يعرض المشكلةهكذا أفضل .. لقد اتضحت لي الفكرة
أولا سأتطرق الى السبب :
سبب حدوث المشكلة هو مقبض غير صحيح عند تنفيذ تصغير للنافذة أي الخطأ بالدالة HandleNeeded
في الحالة العادية .. أقصد بدون استخدام ال Vcl Style لن تواجه هذه المشكلة لأن النظام هو من يتحكم بالنافذة .. أما اذا استخدمت ال Vcl Style فستحدث المشكلة بسبب عدم وجود Parent ان صح التعبير
في الحقيقة حل المشكلة أتعبني قليلا .. :
الحل هو استخدام Application وهمية لتنفيذ ظهور الفورم .. أوكي
مثال :
PHP كود :
library dsdll;
uses
ShareMem,
Winapi.Windows, Winapi.Messages,
System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms,Vcl.Dialogs,
Vcl.Themes,Vcl.Styles,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
{$R Auric.res}//Include Your Style
var
dwTemp : DWORD;
hThread :THandle;
procedure CreateDlg();
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
TStyleManager.TrySetStyle('Auric');//Set Style
Application.CreateForm(TForm1, form1);//Create Form1
Application.Run;//Run
FreeAndNil(Form1);//Destroy
end;
procedure DllMain(reason: Integer);
begin
if reason =DLL_PROCESS_ATTACH then
hThread:= CreateThread(nil,0,@CreateDlg,nil,0,dwTemp)
else if reason =DLL_PROCESS_DETACH then
begin
TerminateThread(hThread,0);// Kill Thread
ExitProcess(0);//Exit
end;
end;
begin
DllProc := DllMain;
DllMain(DLL_PROCESS_ATTACH);
end.
إقتباس :إذا كان فعلا لا تظهر لديك المشكلة ... ربما لإختلاف النظام ... !؟ .. رغم اني اضنك تملك نفس نظاميأستعمل Win7

