Autor |
Beitrag |
gizmo
      
Beiträge: 61
Win 7 64Bit
RAD Studio/Delphi 2007
|
Verfasst: Sa 15.06.13 22:47
Hallo,
ich bin kein ausgebildeter Programmierer und habe bisher mit Delphi 7 kleine Tools für Win XP erstellt, die mir und meinen Kollegen die Arbeit erleichtern.
Nun habe ich mit Delphi 2007 eine Anwendung für Windows 7 erzeugt, die zwar funktioniert wie gewünscht, jedoch keine Schaltfläche in der Task Leiste erzeugt, was den Nutzen des Tools in Frage stellt. Was läuft da falsch?
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 16.06.13 10:53
Es gibt einen Unterschied zwischen Delphi 2007 und früheren Versionen was das angeht. Bis Delphi 2006 hast du in der Taskleiste ein verstecktes Application-Fenster gesehen. Seit Delphi 2007 siehst du dort die Formulare selbst.
Standardgemäß ist das von dir beschriebene Verhalten nicht, aber ich vermute du spielst irgendwo mit SetWindowLong oder so herum um zu beeinflussen was in der Taskleiste angezeigt wird. Es gibt eine Einstellung Application.ShowMainFormOnTaskbar, mit der du das Verhalten ändern kannst, diese solltest du vor dem ersten erstellten Formular in der Projektdatei setzen.
Zuletzt bearbeitet von jaenicke am Mo 17.06.13 21:35, insgesamt 1-mal bearbeitet
|
|
gizmo 
      
Beiträge: 61
Win 7 64Bit
RAD Studio/Delphi 2007
|
Verfasst: Mo 17.06.13 20:39
Hm.. Danke für die Antwort, aber SetWindowLong ist mir nicht bekannt.
In Form.Create habe ich nur BorderStyle:=bsDialog und Position:=poScreenCenter, sonst nix.
Im Quelltext steht Application.MainFormOnTaskbar:=true direkt nach Application.Initialize.
Application.ShowMainFormOnTaskbar nimmt mir der Compiler nicht ab, das gibt es so nicht.
Ich bekomme nicht raus, was hier nicht stimmt.
|
|
>M@steR<
      
Beiträge: 288
Erhaltene Danke: 3
|
Verfasst: Mo 17.06.13 20:54
Zuletzt bearbeitet von >M@steR< am Di 17.09.13 03:06, insgesamt 1-mal bearbeitet
|
|
gizmo 
      
Beiträge: 61
Win 7 64Bit
RAD Studio/Delphi 2007
|
Verfasst: Mo 17.06.13 21:54
Nur bei diesem Projekt. Nur ein Formular mit Panels, Buttons, LabelEdits und UpDowns.
Die Anwendung erzeugt JPEG Dateien (Einfarbig mit buntem Rahmen und Text), welche im Schnittprogramm als Dummys eingesetzt werden, für Grafiken, die der Kunde noch liefern muss. Kann ich auch mit Photoshop machen, geht so aber viel schneller.
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 18.06.13 06:25
Nimm das Formular einfach mal in ein neues Projekt rein und schau was passiert. Wenn es dann geht, speichere es einfach an Stelle des alten Projekts.
Ansonsten kannst du, wenn du das möchtest, das Projekt auch hochladen. Den meisten Code kannst du ja entfernen, wenn du nichts in der Richtung machst, ist der ja nicht relevant, es sei denn du siehst, dass das Problem dann nicht mehr auftritt. Aber auch das wäre ja schon hilfreich zu wissen.
|
|
Martok
      
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: Di 18.06.13 10:38
gizmo hat folgendes geschrieben : | In Form.Create habe ich nur BorderStyle:=bsDialog |
Ich bin mir relativ sicher, dass Dialoge keinen TaskbarButton haben können, da sie keine Titelleiste haben. Kann das mal wer nachprüfen, ich hab grad kein neues Delphi hier?
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
|
|
Marc.
      
Beiträge: 1876
Erhaltene Danke: 129
Win 8.1, Xubuntu 15.10
|
Verfasst: Di 18.06.13 12:12
Für diesen Beitrag haben gedankt: Martok
|
|
gizmo 
      
Beiträge: 61
Win 7 64Bit
RAD Studio/Delphi 2007
|
Verfasst: Di 18.06.13 13:10
Ich habe es gefunden. Ein Vergleich mit früheren Projekten ergab lediglich einen Unterschied:
Die Zeile "Application.MainFormOnTaskbar:=true" gibt es in den Quelltexten anderer Projekte nicht.
Ich habe die Zeile auskommentiert und nun bekomme ich auch eine Schaltfläche in der Task Leiste.
Verstehen tue ich das allerdings nicht. Auch weiß ich nicht wie der Eintrag entstanden ist - ich habe das nicht dort hin geschrieben.
Ich danke euch für eure Bemühungen. Bis auf das zurückbleibende Unverständnis ist das Problem gelöst.
Beste Grüße
Gizmo
|
|