AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi D2007 Anwendung unter Win98 doppelter Task in Taskbar
Thema durchsuchen
Ansicht
Themen-Optionen

D2007 Anwendung unter Win98 doppelter Task in Taskbar

Ein Thema von TUX_der_Pinguin · begonnen am 1. Apr 2008 · letzter Beitrag vom 1. Apr 2008
Antwort Antwort
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#1

D2007 Anwendung unter Win98 doppelter Task in Taskbar

  Alt 1. Apr 2008, 10:33
Ich habe eine "VLC-Formularanwendung - Delphi für Win32" erstellt mit Delphi 2007 für Win32 Professional R2,
um zu testen ob die Software unter Windows 98 läuft habe ich das Program auf einem Win98SE Rechner gestartet
dort fiel mir sofort auf das plötzlich zwei Tasks in der Taskleiste auftauchen eines leer das andere korrekt
mit Namen der Software. Zum besseren Verständnis habe ich gleich einen Screenshot erstellt und diesen angefügt
dazu habe ich schnell ein neues Projekt erstellt um sicher zugehen das es nicht irgendwo an meinem Program
liegt, ich habe das Projekt erstellt gespeichert und sofort ausgeführt ohne an der Anwendung etwas zu verändern.

Ich hatte vermutet das es evtl am XP Design liegt, dazu habe ich in den Optionen "Laufzeit Themes" deaktiviert
aber auch so blieben die doppelten Tasks, hat vielleicht jemand eine Idee woran das liegen könnte.
Miniaturansicht angehängter Grafiken
desktop_123.png  
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: D2007 Anwendung unter Win98 doppelter Task in Taskbar

  Alt 1. Apr 2008, 10:42
Setzte mal
Application.ShowMainForm := False; im Projekt
Markus Kinzler
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

Re: D2007 Anwendung unter Win98 doppelter Task in Taskbar

  Alt 1. Apr 2008, 11:07
Zitat von mkinzler:
Setzte mal
Application.ShowMainForm := False; im Projekt
Meintest du vielleicht MainFormOnTaskbar?

Besser ist es das Application.Handle in ein WS_EX_TOOLWINDOW zu verwandeln.

Delphi-Quellcode:
uses
  Windows;

begin
  Application.Initialize;
  SetWindowLong(Application.Handle, GWL_EXSTYLE,
    GetWindowLong(Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW);
  // Splashscreen und CreateForm() Aufrufe erst ab hier...
  ...
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: D2007 Anwendung unter Win98 doppelter Task in Taskbar

  Alt 1. Apr 2008, 11:10
Zitat von mkinzler:
Setzte mal
Application.ShowMainForm := False; im Projekt
Also daran lag es nicht, aber denoch lag der fehler im Projekt File, den dort steht "Application.MainFormOnTaskbar := True"
ich habe das mal mit Delphi 7 und Turbo Delphi verglichen dort gibt es die zeile generell nicht, jetzt is die Frage ob das
ein Bug ist oder muß das so. Ich könnte mir vorstellen das das Template welches beim "neu erstellen" geladen wird diese
Zeile fälschlicherweise enthält. Desweiteren frag ich mich wieso Windows XP die Zeile "ignoriert" und Win98 die Zeile
korrekt auswertet.

Delphi-Quellcode:
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas{Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
Und wieder ein stückchen schlauer als gestern *g* In diesem Sinne noch einen schönen Tag.
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

Re: D2007 Anwendung unter Win98 doppelter Task in Taskbar

  Alt 1. Apr 2008, 11:37
Zitat von TUX_der_Pinguin:
Ich könnte mir vorstellen das das Template welches beim "neu erstellen" geladen wird diese
Zeile fälschlicherweise enthält.
Schon mal davon gehört, dass es auch Neuerungen geben kann?

Zitat:
Desweiteren frag ich mich wieso Windows XP die Zeile "ignoriert" und Win98 die Zeile
korrekt auswertet.
Microsoft ändert die Spielregeln für Fenster mit jeder neuen Windows Version. Windows Vista reagiert wieder etwas anders. Dort ist "MainFormOnTaskbar := True" schon pflicht, wenn man nicht als "Alien Anwendung" unterwegs sein will.
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: D2007 Anwendung unter Win98 doppelter Task in Taskbar

  Alt 1. Apr 2008, 12:18
Zitat von jbg:
Zitat von TUX_der_Pinguin:
Ich könnte mir vorstellen das das Template welches beim "neu erstellen" geladen wird diese
Zeile fälschlicherweise enthält.
Schon mal davon gehört, dass es auch Neuerungen geben kann?
Nach dem ich einen Blick in die Hilfe geworfen habe wurde mir auch klar das es was neues für Windows Vista ist,
in dem Falle kann ich nur Walter aus "The Big Lebowski" zittieren: "Kann ich ja nicht wissen"

Kleiner scherz, aber um auf das Thema noch mal zurück zu kommen, ich belasse das jetzt erst mal so das ich
MainFormOnTaskbar auf False setze. Entweder mir kommt noch eine Lösung entgegen die alle drei Betriebssystem Versionen
abdeckt oder aber ich werde irgendwann die Unterstütung für Win98 beenden und das dann die Programme dann nur
vollfunktionsfähig sind ab WinXP.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: D2007 Anwendung unter Win98 doppelter Task in Taskbar

  Alt 1. Apr 2008, 12:26
Du musst die OS Version abfragen und die Eigenschaft entsprechend setzen. Ich würde aber das Verhalten für neuere Windowsversionen als Standard setzen
Markus Kinzler
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: D2007 Anwendung unter Win98 doppelter Task in Taskbar

  Alt 1. Apr 2008, 13:05
Zitat von mkinzler:
Du musst die OS Version abfragen und die Eigenschaft entsprechend setzen. Ich würde aber das Verhalten für neuere Windowsversionen als Standard setzen
Das wäre wohl eine möglichkeit aber da es sich nur um ein kleines Programm handelt ist es daher den aufwand nicht wert und
ich gehe davon aus das vor ort wo das Programm eingesetzt werden soll kein Vista laufen wird daher lasse ich das erst mal so.

Ändern läßt es sich ja immer noch recht schnell, in diesem Sinne vielen dank für die zahlreiche Hilfe.
  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 12:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz