![]() |
Find Window und FindForm
Hi,
ich hab einige Menuitems die nur eine Form anzeigen on Click also nur FormXYZ.Show; Jetzt hab ich mir gedacht wär doch einfacher ich mach nur eine Prozedur für alle... und geb den Namen der Form als Hint beim Menuitem ein, damit würde ich mal wieder einen haufen sparen... aber es mag leider nich so ganz wie ich will...
Delphi-Quellcode:
Ich krieg nur eine Zugriffsverletzung... aber Syntax passt ebenfalls hab ich Klassennamen und WindowName korrekt im Debugger also TfrmDVDDMOGargle und frmDVDDMOGargle aber findWindow funzt nicht... FindWindow gibt immer 0 zurück :-(procedure TForm1.Gargle2Click(Sender: TObject); var ClassName : PAnsiChar; WindowName : PAnsiChar; begin WindowName := PChar((Sender as TMenuitem).Hint); ClassName := PChar('T'+ (Sender as TMenuitem).Hint); FindForm(FindWindow(ClassName,WindowName)).Show; //frmDVDDMOGargle.Show; end; kennt sich einer von euch damit aus? |
Re: Find Window und FindForm
Hi,
habs rausgefunden... das FindWindow meint zwar das es einen WindowNamen will aber...das ist nicht richtig... mit der Caption gehts: FindForm(FindWindow(nil,Pchar((Sender as TMenuitem).Hint))).Show; Gruß tom |
Re: Find Window und FindForm
Zitat:
Aber warum so kompliziert? Das TApplication Objekt, müsste doch alle Forms kennen. |
Re: Find Window und FindForm
Hi,
keine ahnung in welcher Dokumentation das steht aber mit Fensternamen hat FindWindow niemals was gefunden jetzt geb ich da die Caption ein und siehe da das ganze funktioniert... achja und ich mach das so kompliziert weil ich das sehr viel schöner find als 30 einzelne Prozeduren mit nur irgendneForm.Show is ne sehr schöne art so find ich... spart mal kurz wieder 6 Kb von meiner exe ein jetzt |
Re: Find Window und FindForm
Das meine ich nicht. Du kannst der Methode ja den Formularnamen übergeben, welchen du als zusätzliche Information in den Menüitems hinterlegst.
|
Re: Find Window und FindForm
also wenn du nur beim klicken n form anzeigen willst, dann könntest du in dem tag feld das entsprechende form speichern
Delphi-Quellcode:
und in der onclick dann entsprechend so anzeigen
TMenuItem(xxx).Tag := Integer(Form2);
Delphi-Quellcode:
with Sender as TMenuItem do
TForm(Tag).Show; |
Re: Find Window und FindForm
Hi,
das hört sich auch nich schlecht an, aber da müsst ich ja auch ncoh an die Tags die Handles übergeben on popup oder so und damit würde es dann die ersparnis von vorher wieder weg machen, aber trotzdem schöne lösung |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:04 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