AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Welche Nachricht muss ich abfangen?

Ein Thema von Chearly020664 · begonnen am 2. Jun 2021 · letzter Beitrag vom 3. Jun 2021
Antwort Antwort
Benutzerbild von Chearly020664
Chearly020664

Registriert seit: 31. Mai 2021
Ort: Dorsten
17 Beiträge
 
Delphi 7 Personal
 
#1

AW: Welche Nachricht muss ich abfangen?

  Alt 3. Jun 2021, 07:21
Zitat:
Wenn es nur "Spaßprojekte" sind, kann man mit der Umstellung auch viel lernen.
Es sind eigentlich alles nur Spaß-Projekte für mich. Allerdings habe ich einige Objekt-Pascal-Programme mit angelinkten, großen Assemblerroutinen wie Fourier-Transformationen und sowas.

Grüß
Leo
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.038 Beiträge
 
Delphi 12 Athens
 
#2

AW: Welche Nachricht muss ich abfangen?

  Alt 3. Jun 2021, 07:53
Zitat:
Wenn es nur "Spaßprojekte" sind, kann man mit der Umstellung auch viel lernen.
Es sind eigentlich alles nur Spaß-Projekte für mich. Allerdings habe ich einige Objekt-Pascal-Programme mit angelinkten, großen Assemblerroutinen wie Fourier-Transformationen und sowas.

Grüß
Die Assembler Sachen gehen alle noch. Du kannst mit der 10.3 CE weiterhin Win32 Programme schreiben, da geht das alles noch.
Auch die 64 Bit Version von Delphi (in der CE enthalten) kann noch Assembler, bloß halt nicht mehr als ASM Blöcke direkt
an einer beliebigen Code Stelle, sondern immer als ganze Methode/Prozedur/Funktion. Hat was mit der Aufrufkonvention oder so zu tun.

Auch die IDE der CE bietet gegenüber deinem D7 weitere Vorteile.

Und falls du wissen wiollst, welche Nachrichten dein Programm alle bekommt: es gibt eine nicht visuelle ApplicationEvents Komponente,
die kann man auf eine Form packen und dort einen Eventhandler erzeugen der alle Nachrichten sieht bevor die der eigentliche Empfänger
sieht.

Und das mit "Fenster verschieben löst auch ein Resize Event aus" könntest du behandeln, in dem du beim Programmstart die Fenstergröße
merkst und im Resize Event prüfst, ob sich die überhaupt geändert hat. Falls ja musst du dir natürlich die neue Größe merken

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Benutzerbild von Chearly020664
Chearly020664

Registriert seit: 31. Mai 2021
Ort: Dorsten
17 Beiträge
 
Delphi 7 Personal
 
#3

AW: Welche Nachricht muss ich abfangen?

  Alt 3. Jun 2021, 08:08
Ja danke, ich werde mich damit nochmals beschäftigen.-

Zitat:
Und das mit "Fenster verschieben löst auch ein Resize Event aus" könntest du behandeln, in dem du beim Programmstart die Fenstergröße
merkst und im Resize Event prüfst, ob sich die überhaupt geändert hat. Falls ja musst du dir natürlich die neue Größe merken
Ok, das geht auch ...

Grüße
Leo
  Mit Zitat antworten Zitat
Benutzerbild von Chearly020664
Chearly020664

Registriert seit: 31. Mai 2021
Ort: Dorsten
17 Beiträge
 
Delphi 7 Personal
 
#4

AW: Welche Nachricht muss ich abfangen?

  Alt 3. Jun 2021, 11:39
Delphi-Quellcode:
procedure WMEXITSIZEMOVE(var Message: TMessage); message WM_EXITSIZEMOVE;
.
.
.
Form1WidthAlt:=Form1.Width;
Form1HeightAlt:=Form1.Height;
.
.
.
procedure TForm1.WMEXITSIZEMOVE(var Message: TMessage);
begin
     If (Form1.Width<>Form1WidthAlt) or (Form1.Height<>Form1HeightAlt) then
     begin
          inherited;
          Apfelmann1Click(self);
     end;
end;
Elegant ist das nicht, aber funktioniert.

Jetzt muss ich noch auf Form1-Maximieren und Form1-Verkleinern reagieren, dann bin ich mit dem Programm fertig.

Gruß
Leo
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.679 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: Welche Nachricht muss ich abfangen?

  Alt 3. Jun 2021, 12:13
Die Assembler Sachen gehen alle noch. Du kannst mit der 10.3 CE weiterhin Win32 Programme schreiben, da geht das alles noch.

Auch die IDE der CE bietet gegenüber deinem D7 weitere Vorteile.
Bitte nicht die Nachteile der CE verschweigen:

1. Im Vergleich zur extrem stabilen und schnellen IDE von Delphi 7 ist es ein behäbiger Koloss mit einer Vielzahl von Bugs.

2. Es basiert nicht etwa auf der aktuellen Version 10.4 sondern auf der vorherigen Version 10.3 von Delphi. Ein Update ist zwar mehrfach angekündigt worden, aber inzwischen habe zumindest ich große Zweifel, ob es je kommen wird. (Gibt es für die CE eigentlich wenigstens die Updates und Bugfixes der Version 10.3? Ich habe das nicht verfolgt.)

3. Eine Lizenz ist immer nur für ein Jahr gültig, dann muss man sich eine neue besorgen. Bisher ging das wohl problemlos, aber es ist nicht garantiert, dass das auch zukünftig so bleibt.

4. wegen 3. kann es aufwändig sein, ein Projekt von Delphi 10.3 auf Delphi 7 zurückzuportieren, falls es die CE irgendwann nicht mehr gibt.

Ich glaube, ich würde mir in dieser Situation (also Programmiererfahrung und diverse Projekte in Delphi 7) die CE mal ansehen, aber ob ich wirklich umsteigen würde, bezweifle ich.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von Chearly020664
Chearly020664

Registriert seit: 31. Mai 2021
Ort: Dorsten
17 Beiträge
 
Delphi 7 Personal
 
#6

AW: Welche Nachricht muss ich abfangen?

  Alt 3. Jun 2021, 12:20
Zitat:
Bitte nicht die Nachteile der CE verschweigen:

1. Im Vergleich zur extrem stabilen und schnellen IDE von Delphi 7 ist es ein behäbiger Koloss mit einer Vielzahl von Bugs.

2. Es basiert nicht etwa auf der aktuellen Version 10.4 sondern auf der vorherigen Version 10.3 von Delphi. Ein Update ist zwar mehrfach angekündigt worden, aber inzwischen habe zumindest ich große Zweifel, ob es je kommen wird. (Gibt es für die CE eigentlich wenigstens die Updates und Bugfixes der Version 10.3? Ich habe das nicht verfolgt.)

3. Eine Lizenz ist immer nur für ein Jahr gültig, dann muss man sich eine neue besorgen. Bisher ging das wohl problemlos, aber es ist nicht garantiert, dass das auch zukünftig so bleibt.

4. wegen 3. kann es aufwändig sein, ein Projekt von Delphi 10.3 auf Delphi 7 zurückzuportieren, falls es die CE irgendwann nicht mehr gibt.

Ich glaube, ich würde mir in dieser Situation (also Programmiererfahrung und diverse Projekte in Delphi 7) die CE mal ansehen, aber ob ich wirklich umsteigen würde, bezweifle ich.
Ja, das ist mir auch durch den Kopf gegangen. Übrigens schreibe ich mit Delphi 7 meist nur zur Eigenverwendung und bis jetzt bin ich damit ausgekommen.

Grüße
Leo
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#7

AW: Welche Nachricht muss ich abfangen?

  Alt 3. Jun 2021, 20:43
Tja, hättet ihr euch die Turbos geholt, dann wäre man immerhin auf dem Stand von Delphi 2006/2007


Zitat:
procedure TForm1.WMEXITSIZEMOVE(var Message: TMessage);

If (Form1.Width
Wer sowas macht, gehört mindestens die Hände abehackt.

Man verwendet niemals "irgendeine" globale Variable, wenn man bereits in dem Objekt drin steckt, denn in der Variable muß nicht das drin sein, was man denkt.
Wer unbedingt eine Variable braucht, der hat gefälligst Self zu nutzen.
[edit] OK, vielleicht ein klein bissl drastisch, diese Lösung, aber so macht man es definitiv niewieder falsch.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 3. Jun 2021 um 23:22 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Welche Nachricht muss ich abfangen?

  Alt 3. Jun 2021, 23:10
Wer sowas macht, gehört mindestens die Hände abehackt.

Zumindest sollte man noch einmal darüber nachdenken was man dort macht und wie man es macht, Hände ab ist zu drastisch, Kopf in ein Delphi/OOP Handbuch stecken genügt hier völlig.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz