Autor Beitrag
AlexII Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 180



BeitragVerfasst: So 15.02.09 18:15 
jaenicke Hast du cool angestellt :D :!:
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 15.02.09 18:54 
Ah, WindowClass.Style ist das was du setzt. Ich hatte schon Style und ExStyle ausprobiert und gesehen, dass das die falschen Adressen waren. Ich hatte dann aber keine Lust nachzuschauen was an der Adresse steht. :mrgreen:

Mit deinem Quelltext konnte ich das Problem eben reproduzieren. Dein Programm funktioniert nicht, auch nicht unter Vista, was daran liegt, dass du die geerbte Version auch nur noch unter XP aufrufst. Das muss aber immer passieren. Richtig sieht es dann so aus, das geht unter 95, 98 und 2000 wie auch unter Vista und der Effekt unter XP ist da (unter 95 liegt das vermutlich aber an was anderem, dass dein Programm nicht ging):
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
procedure TForm1.CreateParams(var Params: TCreateParams);

  function IsXP: Boolean;
  var
    OS: TOSVERSIONINFO;
  begin
    OS.dwOSVersionInfoSize := SizeOf(TOSVERSIONINFO);
    Result := GetVersionEx(OS) and (OS.dwPlatformId = VER_PLATFORM_WIN32_NT) and
      (OS.dwMajorVersion = 5and (OS.dwMinorVersion = 1);
  end;

const
  CS_DROPSHADOW = $00020000;
begin
  inherited CreateParams(Params);
  if IsXP then
    Params.WindowClass.Style := Params.WindowClass.Style or CS_DROPSHADOW;
end;
Vielleicht sollte ich an der Stelle einmal erklären was da eigentlich passiert, denn das scheint dir (deinem Quelltext nach zu urteilen) nicht klar zu sein.

Deine Formularklasse wird von TForm abgeleitet. Dort (bzw. genauer in TCustomForm) ist CreateParams bereits definiert. Du überschreibst jetzt diese Methode mit override. Das Resultat ist, dass statt der Original-CrateParams-Methode deine aufgerufen wird. Wenn du jetzt aber nicht auch das Original mittels inherited aufrufst, dann wird der entsprechende Code nie ausgeführt. Der ist aber notwendig. ;-)
AlexII Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 180



BeitragVerfasst: So 15.02.09 20:56 
Kannst du mir vllt diese Procedure richtig anpassen, oder soll ich lieber das alles vergessen?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 15.02.09 20:58 
So wie ich es jetzt zuletzt gepostet habe, funktioniert es ja bei mir mit meinem Testprojekt. Das sollte schon richtig sein. ;-)
AlexII Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 180



BeitragVerfasst: So 15.02.09 22:57 
Danke dir :D Man was hätte ich ohne dich gemacht, also rieeeeeeesen Dank!!!

An delphi10 auch viel Lob :)
AlexII Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 180



BeitragVerfasst: Di 11.08.09 10:30 
Die Freeware ist endlich voll fertig! Bitte wieder testen.
der organist
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 467
Erhaltene Danke: 17

WIN 7
NQC, Basic, Delphi 2010
BeitragVerfasst: Di 11.08.09 12:07 
ist das eigentlich ne öffentliche Losung (Herrenhuter z.B.) oder ein vom Programm zufällig gewählter Vers?

_________________
»Gedanken sind mächtiger als Waffen. Wir erlauben es unseren Bürgern nicht, Waffen zu führen - warum sollten wir es ihnen erlauben, selbständig zu denken?« Josef Stalin
AlexII Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 180



BeitragVerfasst: Di 11.08.09 15:55 
Die Verse sind im Programm integriert und werden nicht zufällig ausgegeben, aber im Lernmodus werden sie zufällig ausgewählt.
der organist
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 467
Erhaltene Danke: 17

WIN 7
NQC, Basic, Delphi 2010
BeitragVerfasst: Di 11.08.09 18:55 
sprich die integrierten Verse (ich komm nicht drum herum ans Ableiten in Mathe zu denken :D) sind irgendwo offiziell bestimmt worden.

_________________
»Gedanken sind mächtiger als Waffen. Wir erlauben es unseren Bürgern nicht, Waffen zu führen - warum sollten wir es ihnen erlauben, selbständig zu denken?« Josef Stalin