![]() |
Re: Entwicklung für Vista und XP
Ja, das Problem am Ende des Assistenten ist mir bekannt. Das hatte ich in der Beta 2 auch schon. Die Konvertierung läuft entweder zu schnell ab, oder es hat den Anschein, als würde sie parallel zum eigentlichen Assistenten werkeln. Sprich: während die Routine noch nach Favoriten scannt, zeigt der Assistent schon das Ende an. Ich weiß aber nicht, was die Ursache ist. :?
|
Re: Entwicklung für Vista und XP
achso, aber laufen tut es schon mal :)
Machst du davon noch eine C#-Lib? Büdde? :firejump: :firejump: |
Re: Entwicklung für Vista und XP
Vom Assistenten? :shock: Um Gottes Willen. Da warte ich lieber auf das finale .NET Framework 3.0 oder 3.1, da wird das eh drin sein. Schließlich forciert Microsoft doch die Entwicklung damit.
|
Re: Entwicklung für Vista und XP
Zitat:
Zitat:
btw, ändere deine Demo mal so um, dass nur unter Vista das Flag PSH_AEROWIZARD gesetzt wird und unter allen anderen Versionen nur das PSH_WIZARD-Flag. So läuft die Demo auf allen Windows-Versionen :zwinker: |
Re: Entwicklung für Vista und XP
Diese Demo soll aber nur unter Vista laufen. :stupid: Für die anderen Windows-Versionen gibt es ja noch den normalen Assistenten. Die CommandLink-Buttons gibt es eh nur unter Vista.
|
Re: Entwicklung für Vista und XP
Ich bin ja begeistert. :stupid: In der RC1 ist der Marquee-Progressbar auch als solcher zu erkennen. Bei meiner Beta 2 war alles grün, und ich konnte nur im gelegentlichen Aufblitzen erahnen, dass das eine Art Zustandsanzeige sein soll. :mrgreen:
Und noch ein Bug behoben: in der Beta 2 blieb der normale Progressbar stehen, wenn man den Status auf Error oder Pause stellte. Jetzt bewegt er sich weiter. Ich schätze, da muss ich wohl mal den TaskDialog-Artikel bearbeiten. |
Re: Entwicklung für Vista und XP
mach das ;)
ich freu mich schon drauf :) |
Re: Entwicklung für Vista und XP
Andre, wenn du willst, dann kannst du in der Assembly ("TaskDialogSettings.cs") den Kommentar bei
Code:
entfernen und die Assembly neu kompilieren. Mit dem RC1 klappt es: Der TaskDialogIndirect lässt sich minimieren, wenn man das Flag nutzt. Bei Gelegenheit werde ich Luckie mal mit einer aktuellen Version der Demo belästigen. Das gilt dann natürlich auch für Delphi. Aber da ich das im Artikel gar nicht erwähnt habe, muss ich auch nichts aktualisieren. :stupid:
public enum TaskDialogFlags
{ ... // CanBeMinimized = 0x8000 } |
Re: Entwicklung für Vista und XP
Cool, das geht ja :love: :love:
|
Re: Entwicklung für Vista und XP
Zitat:
|
Re: Entwicklung für Vista und XP
Ich habe mal wieder was Neues: eine Assembly und ein Tool, mit denen man unter Vista ganz normale Programme (Exe) als Module für die Systemsteuerung registrieren kann. Inklusive dieser netten Tasks, über die man direkt an spezielle Funktionen herankommt. Das setzt natürlich voraus, dass man diese Funktionen so programmiert, dass sie zum Beispiel per Parameter aufrufbar sind. Meine Demo-Anwendung ist ein simples TabControl-Programm, dass per "SECONDTAB" und "THIRDTAB" auch die beiden anderen Tabs anzeigen kann, etwa
Code:
Die Assembly könnte benutzt werden, um diese Registrierung direkt von der eigenen Anwendung durchführen zu lassen. Oder man nimmt das Registrierungstool. Ich habe es im Beispielsetup verwendet. Wer es testen will, braucht Inno Setup. Aber bitte nicht die Reihenfolge ändern! Es ist wichtig, dass das Tool zuerst die Tasks-Datei erzeugt (wenn gewünscht), denn beim Registrieren der Exe wird geprüft, ob die Tasks-Datei vorhanden ist. Wenn nicht, wird der Eintrag nicht geschrieben, und die separaten Links erscheinen auch nicht.
ControlPanelDemo SECONDTAB
Das Registrierungstool (CPRegister) nutzt Dateien der Assembly (ControlPanel.API). In der Projektdatei sind nur Verknüpfungen drin. Vorteil: wenn ich etwas aktualisiere, sind Assembly und Registrierungstool gleichzeitig auf dem neusten Stand. Wer es ohne Setup versuchen will, muss die Demo, das Registrierungstool und die beiden XML-Dateien aus dem Setupordner in ein Verzeichnis kopieren. Zuerst wird dann die Tasks-Datei erzeugt:
Code:
danach wird die Demo registriert
CPRegister /task:ControlPanelDemo.CTasks.xml
Code:
Wenn man die Systemsteuerung jetzt öffnet, sollte das neue Modul sichtbar sein; einmal bei System und Wartung, und einmal bei Netzwerk und Internet. Einer der Links hat das Schildsymbol, aber ohne Auswirkungen. Die UAC-Funktion müsste man selbst programmieren. Zum Entfernen der Anwendung aus der Systemsteuerung dann nur
CPRegister /register:ControlPanelDemo.Register.xml
Code:
starten.
CPRegister /unregister:ControlPanelDemo.Register.xml
Zur Tasks-Datei noch: Soweit ich das sehen konnte, sind absolute Pfadangaben notwendig, damit später beim Klick auf den Link auch die passende Funktion ausgelöst wird. Da man vorher nicht weiß, wohin der Anwender die Demo usw. kopieren wird, ist das natürlich schlecht. Das Registrierungstool ermittelt deswegen seinen eigenen Pfad und erstellt einen absoluten Pfad für die Einträge im <command>-Knoten der XML-Datei. Man kann daher ohne Pfade bzw. mit relativen Angaben arbeiten (je nachdem, wo sich die XML-Datei befindet, und wo die Anwendung liegt). Das Setup bzw. das Tool passt den Pfad dann entsprechend an. Vorschläge? Bugs? usw. |
Re: Entwicklung für Vista und XP
Liste der Anhänge anzeigen (Anzahl: 1)
Voilà. Die CPL-Klasse ist auch fertig. Na ja ... Im Anhang gibt es also die aktuellen Sourcen. Der Compiler ist ja bereits beim .NET Framework 2.0 dabei; also einfach die Batches nutzen.
Das Demo-Setup läuft jetzt auch unter Windows 2000 und XP, registriert da aber nur die CPL-Datei. Das Registrierungstool läuft demzufolge auch unter 2000 und XP, kann dort aber (technisch bedingt) auch bloß CPL-Module registrieren. Unter Vista kommt noch die Exe-Demo dazu. Die beiden neuen Parameter für das Registrierungstool lauten
Code:
Ansonsten hat sich nicht allzu viel geändert. Ein paar Ergänzungen, ein paar Fixes, ... das Übliche eben. :stupid:
CPRegister /cpl:ControlPanelDemo.CplRegister.xml
CPRegister /uncpl:ControlPanelDemo.CplRegister.xml |
Re: Entwicklung für Vista und XP
...bin a weng verwirrt...
Ich entwickle gerade mit Delphi 2007 unter Vista eine neue Anwendung. Jetzt soll natürlich alles im wunderschönen Vista-Style sein...ist garkein Problem...aber die Anwendung soll ja auch noch auf XP bzw. 2000 laufen. (jetzt bitte nicht prügeln...) Jetzt hab ich mir die 7 Seiten dieses Themas durchgelesen und weiß jetzt eigentlich garnicht so recht weiter. Ging es in diesem Thema nicht am Anfang darum unter XP Anwendungen zu entwickeln, welche Vista-Style haben...oder wie?! Kann mir jetzt vielleicht mal jemand irgendwie sagen, wie ich jetzt weitermachen soll...ich steh gerade a weng auf dem Schlauch... :gruebel: Gruß Christian |
Re: Entwicklung für Vista und XP
Wenn du "normale" Programme schreibst, die unter (soweit) allen Windows-Versionen laufen und dabei immer das Aussehen der jeweiligen Version haben, dann ist alles okay.
Ich habe den Thread hier nur ein bisschen zweckentfremdet, weil es am Anfang darum ging, bestimmte Dinge (etwa den TaskDialog) zu nutzen, und da gab es Delphi 2007 noch nicht. Das .NET Framework wird von Microsoft in der Hinsicht leider auch stiefmütterlich behandelt, so dass man sich die Assemblies selbst schreiben muss. Ich krame den Beitrag immer mal wieder raus, wenn ich irgendwelche Dinge unter Vista nutze und ein kleines Feedback für meine Ideen haben möchte. :stupid: |
Re: Entwicklung für Vista und XP
was sind normale Programme...das sind doch die, die von der Stange sind...
also ich schreib a Programm nur mit Win32 und nix mit .Net...hat mit Sicherheit Vor- und Nachteile. Ja, jetzt hab ich halt immernoch das Problem mit dem Vista-Style und dem XP-Style...naja, werd das Beste daraus machen und mich nicht weiter damit verkopfen... gibts irgendwo noch ein brauchbares Tutorial bzgl. C# und Delphi? Wär für mich auch noch interessant, da ich noch ein paar Schnittstellen schreiben muss und vielleicht kann ich ja dabei einen "Ausflug" in C# machen... Gruß Christian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:28 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