AGB  ·  Datenschutz  ·  Impressum  







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

Bug in Vcl.Forms?

Ein Thema von SearchBot · begonnen am 24. Okt 2018 · letzter Beitrag vom 26. Okt 2018
Antwort Antwort
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#1

AW: Bug in Vcl.Forms?

  Alt 24. Okt 2018, 23:35
Versuch mal ganz klassisch mit dem Windows Notepad und Administratorrechten. Damit umgehst du das Problem mit dem History-Verzeichnis.

Als kleiner Hinweis. In der aktuellen Community-Version ist ein Hotfix wie deiner nicht vorhanden.
Das Problem muss also von woanders herkommen.

Geändert von DieDolly (24. Okt 2018 um 23:41 Uhr)
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Bug in Vcl.Forms?

  Alt 24. Okt 2018, 23:48
So etwas hatte ich auch schonmal. Im Endeffekt war es ein Fehler in meinen eigenen Sourcen der sich bis zum Ende nicht bemerkbar gemacht hat. Meistens ein zu früh freigegebenes Objekt auf das am Ende wieder zugegriffen wird oder so.

An den Sourcen von Emba würde ich selbst nicht rumfummeln. Ich meine mich auch zu erinnern, dass es damals die gleiche Stelle war, kann dir aber meinen Fehler nicht mehr sagen.


Die Community Version basiert von den Sourcen her soweit ich weiß auf der 10.2 ohne Updates. Aber da kann sicherlich jemand anderes mehr dazu sagen oder auch einen Beweis vorlegen.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Bug in Vcl.Forms?

  Alt 25. Okt 2018, 03:09
Hallo,
Erzeuge mal ein neues Projekt mit einem Menü.
Tritt der Fehler jetzt nicht auf, liegt es an Deinem Code.
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Bug in Vcl.Forms?

  Alt 25. Okt 2018, 10:05
Tritt der Fehler jetzt nicht auf, liegt es an Deinem Code.
das sollte sich in der Zwischenzeit herum gesprochen haben. Zumindest Profis wissen das.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

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

AW: Bug in Vcl.Forms?

  Alt 25. Okt 2018, 11:08
Hallo,
Erzeuge mal ein neues Projekt mit einem Menü.
Tritt der Fehler jetzt nicht auf, liegt es an Deinem Code.
Interessant finde ich die Sachlage dennoch.
"if <> nil then" aber im abschnitt ist es nil obwohl abfrage <> nil ist.

/edit
oder baue in deiner abfrage if FMenu.WindowHandle <> Nil ein, was passiert dann?
Ich meine, vielleicht hast Du ja ein FMenu object was nur noch kein WindowHandle besitzt?
Gruß vom KodeZwerg

Geändert von KodeZwerg (25. Okt 2018 um 11:12 Uhr)
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.073 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Bug in Vcl.Forms?

  Alt 25. Okt 2018, 11:19
Hallo,
Erzeuge mal ein neues Projekt mit einem Menü.
Tritt der Fehler jetzt nicht auf, liegt es an Deinem Code.
Interessant finde ich die Sachlage dennoch.
"if <> nil then" aber im abschnitt ist es nil obwohl abfrage <> nil ist.
Nebenläufigkeit, Threads, Tasks...
  Mit Zitat antworten Zitat
SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
328 Beiträge
 
Delphi 12 Athens
 
#7

AW: Bug in Vcl.Forms?

  Alt 25. Okt 2018, 23:02
Hey,

ja, ich bin da mal ganz durchgesteppt. Diese kleine Zuweisung auf FMenu macht hintenrum ja ne ganze Menge.
Ich kann nun zwar den Code ändern (hab die Verzeichnisrechte alle auf Vollzugriff umgestellt...), aber er scheint das trotzdem nicht zu compilieren - wenn ich nämlich eine Zeile einfüge, sind die blauen Punkte noch an der selben Stelle und die IDE erzeugt also keine neuen DCUs? Bei den Vcl.Forms aber scheinbar schon, bei den Vcl.Menus aber nicht?! Ich hab nicht finden können, wo die hincompiliert sind (Es war dann auch schon spät).

Es scheint besser zu sein (obwohl ich mir nicht sicher bin, daß der Compiler meine Änderung mitgenommen hat), wenn zuerst FMenu.WindowHandle:=0 gesetzt wird und dann die Winapi.windows.SetMenu(Handle, 0) angewiesen wird, statt umgekehrt. Ein if assigned(FMenu) then scheint auch hilfreich.

Das Problem tritt ja auf beim Zerstören der Objekte, WMDestory...

Ich habe eine kleine Routine im FormResize:
Delphi-Quellcode:
procedure TForm1.FormResize(Sender: TObject);
begin
 m_time.ImageIndex:=byte(form1.WindowState<>wsMinimized);
 Timer1.Enabled:=m_time.ImageIndex=1;
end;
Die Idee war, wenn das Form minimiert ist, muss der Timer nicht an sein.
m_time (TMenuItem) hat eine kleine Grafik, die anzeigt, ob die Funktion aktiv ist (ImageIndex=1) oder nicht (ImageIndex=0).

Dennoch ist es so, daß der Fehler nur dann auftritt, wenn ImageIndex=0..., ist es 1 dann knallt es seltsamerweise nicht

Bei durchsteppen ist mir aufgefallen, daß das FormResize nach dem FormCloseQuery auch aufgerufen wird.
Die Zuweisung des ImageIndex ist dann wohl nicht so optimal, wenn das MenuItem gerade vorher zerstört wurde

Dass diese Möglichkeit aber im Vcl.Menus nicht berücksichtigt wird...?!
Delphi-Quellcode:
procedure TMenu.SetWindowHandle(Value: HWND);
begin
   FWindowHandle := Value;
Wenn FWindowHandle schon aufgelöst ist, endet es hier (bei mir). Ein if assigned(FWindowHandle) then könnte hilfreich sein.

Ich habe das Problem jetzt so gelöst, daß ich im FormCloseQuery eine globale Variable ending:=true setze und dann es so mache:
Delphi-Quellcode:
procedure TForm1.FormResize(Sender: TObject);
begin
 if not ending then begin
  m_time.ImageIndex:=byte(form1.WindowState<>wsMinimized);
  Timer1.Enabled:=m_time.ImageIndex=1;
 end;
end;
Dann ist auch alles gut.
Und ich habe wieder was gelernt
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#8

AW: Bug in Vcl.Forms?

  Alt 25. Okt 2018, 23:04
Zitat:
Ich kann nun zwar den Code ändern (hab die Verzeichnisrechte alle auf Vollzugriff umgestellt...)
Vcl.Menus.pas mit Notepad++ als Administrator öffnen hätte auch gereicht.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.639 Beiträge
 
Delphi 12 Athens
 
#9

AW: Bug in Vcl.Forms?

  Alt 25. Okt 2018, 07:12
Die Community Version basiert von den Sourcen her soweit ich weiß auf der 10.2 ohne Updates. Aber da kann sicherlich jemand anderes mehr dazu sagen oder auch einen Beweis vorlegen.
Die Community Version basiert auf dem letzen Stand 10.2.3 mit allen zur Zeit verfügbaren Updates.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: Bug in Vcl.Forms?

  Alt 25. Okt 2018, 09:57
Die Community Version basiert von den Sourcen her soweit ich weiß auf der 10.2 ohne Updates. Aber da kann sicherlich jemand anderes mehr dazu sagen oder auch einen Beweis vorlegen.
Die Community Version basiert auf dem letzen Stand 10.2.3 mit allen zur Zeit verfügbaren Updates.
  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 07:53 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