Control in Abhängigkeit der Windowsversion verwenden
Hallo zusammen,
ist es möglich ein Control in Abhängigkeit der Windowsversion zu verwenden??? Die grundlegenden Eigenschaften sind identisch, nur erzeugt das Control unter Vista ein völlig anderes Verhalten als unter den vorherigen Windowsversionen. Daher suche ich nach einer (einfachen) Möglichkeit in Abhängigkeit von der OS-Version ein Control zu verwenden, ohne den kompletten Code quasi zweimal zu schreiben. Beispiel:
Delphi-Quellcode:
var
AControl: TObject; begin if WinVista then AControl := TSomeControl.Create(self) else AControl := TAnotherControl.Create(self); with AControl do begin // tue irgendwas end; |
Re: Control in Abhängigkeit der Windowsversion verwenden
z.B. in der Jedi gibt es fertige Funktionen zum Auslesen der Windows Version und diverse Komponentensammlungen wie Elpack machen reichlich von Flags wie IsWinVistaUpper gebrauch.
|
Re: Control in Abhängigkeit der Windowsversion verwenden
Zitat:
Wie kann ich ein Control in Abhängigkeit der OS Version verwenden ohne das der Compiler meckert. Verwende ich zum Beispiel dieses hier:
Delphi-Quellcode:
dann meckert der Compiler, das er die Eigenschaften für dieses Objekt nicht kennt.
var
OpenDlg: TObject; begin if IsWinVista then OpenDlg := TFileOpenDialog.Create(self) else OpenDlg := TTntOpenDialog.Create(self); with OpenDlg do begin if WinVista then begin FavoriteLinks := []; FileTypes := []; end; DefaultExt := '*.txt'; Options := [ofHideReadOnly, ofFileMustExist, ofShareAware, ofEnableSizing]; Title := #246'ffnen'; ... Nun geht es mir nicht allein um obiges Beispiel sondern möchte ich allg. wissen ob und wie so was geht. |
Re: Control in Abhängigkeit der Windowsversion verwenden
Zitat:
Was stört dich den am TTntOpenDialog unter Vista? Wenns nur der neue Look ist solltest du mit dem Artikel von TMS das auch hinbekommen da man unter Vista "nur" einen Hook nicht setzen darfst (welche zum Zentrieren des Dialogs in der VCL verwendet wird) |
Re: Control in Abhängigkeit der Windowsversion verwenden
Zitat:
Zitat:
Somit geht es also nur wenn beide Controls den gleichen unmittelbaren Vorfahren haben (Im Beispiel oben müsste das dann ja wohl TOpenDialog bzw. TFileOpenDialog sein) ??? |
Re: Control in Abhängigkeit der Windowsversion verwenden
Zitat:
|
Re: Control in Abhängigkeit der Windowsversion verwenden
Zitat:
Code:
E2010 Inkompatible Typen: 'TCommonDialog' und 'TFileOpenDialog'
|
Re: Control in Abhängigkeit der Windowsversion verwenden
Sorry, ich bin auch vom Standard TOpenDialog ausgegangen...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:58 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