AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

XP-Style in DLL

Ein Thema von c113plpbr · begonnen am 28. Dez 2005 · letzter Beitrag vom 31. Dez 2005
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von c113plpbr
c113plpbr

Registriert seit: 18. Nov 2003
Ort: localhost
674 Beiträge
 
Delphi 2005 Professional
 
#1

XP-Style in DLL

  Alt 28. Dez 2005, 13:48
Hallo DP'ler,

mein Problem ist folgendes:
Ein fremdes Programm lädt meine DLL, welche dann eine VCL-Form anzeigt. Das Problem dabei ist, dass dieses fremde Programm kein XP-Style-Manifest enthält, und somit meine Form auch ohne XP-Style angezeigt wird. Dies ist aber nicht in meinem Sinne, und daher suche ich nach einer Möglichkeit dies zu ändern, zumindest für meine Form. Da ein XP-Style-Manifest in meiner DLL relativ sinnlos ist, und InitCommonControls(Ex) den Trick auch nicht fertigbringt, bin ich nun relativ am Ende mit meinem Latein ...

Ich hoffe, ihr könnt mir helfen,
ciao & thx, Philipp
Philipp
There is never enough time to do all the nothing you want.
*HABENWILL*
  Mit Zitat antworten Zitat
Benutzerbild von c113plpbr
c113plpbr

Registriert seit: 18. Nov 2003
Ort: localhost
674 Beiträge
 
Delphi 2005 Professional
 
#2

Re: XP-Style in DLL

  Alt 29. Dez 2005, 17:06
Na hat keiner ne Idee? *push*
Philipp
There is never enough time to do all the nothing you want.
*HABENWILL*
  Mit Zitat antworten Zitat
Benutzerbild von md_mse
md_mse

Registriert seit: 13. Aug 2003
Ort: Berlin
95 Beiträge
 
#3

Re: XP-Style in DLL

  Alt 29. Dez 2005, 19:58
Da die DLL ja im Kontext des Programms läuft, das keine XP-Themes unterstützt, bekommst du auch keine XP Styles in deine DLL. Jedoch kannst du ja eine *.manifest Datei erstellen, die den Namen der Hostanwendung trägt, und schon sollte es gehen.
(Der Inhalt einer solche Datei sollte ja bekannt sein )
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: XP-Style in DLL

  Alt 29. Dez 2005, 20:05
Was hat das XP-Style mit einer DLL zu tun?
Eine DLL ist im Prinzip nur eine externe Funktionssammlung, und wenn du da nicht eine Funktion aufrusfst, die das Style deines Programmes ändert, sollte es das keine Probleme geben.

Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von md_mse
md_mse

Registriert seit: 13. Aug 2003
Ort: Berlin
95 Beiträge
 
#5

Re: XP-Style in DLL

  Alt 29. Dez 2005, 20:10
Zitat von faux:
Was hat das XP-Style mit einer DLL zu tun?
Eine DLL ist im Prinzip nur eine externe Funktionssammlung, und wenn du da nicht eine Funktion aufrusfst, die das Style deines Programmes ändert, sollte es das keine Probleme geben.

Grüße
Faux
Eine DLL ist nicht unbedingt nur eine Funktionssammlung. DLL's sind im Grunde genommen ja auch nur modifizierte EXE Files.
Und in meine DLL's kann ich ja auch VCL Forms klatschen, ich weiss nicht wie es bei dir ist .
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: XP-Style in DLL

  Alt 29. Dez 2005, 20:13
Zitat von md_mse:
Eine DLL ist nicht unbedingt nur eine Funktionssammlung. DLL's sind im Grunde genommen ja auch nur modifizierte EXE Files.
Und in meine DLL's kann ich ja auch VCL Forms klatschen, ich weiss nicht wie es bei dir ist .
Trotzdem musst du diese extra aufrufen. Alleiniges referenzieren reicht hier nicht.
Außerdem musst du trotzdem alles in Funktionen packen, wenn du eine Form in eine DLL geben willst. Klassen kannst du da IMHO nicht verwenden.

Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von c113plpbr
c113plpbr

Registriert seit: 18. Nov 2003
Ort: localhost
674 Beiträge
 
Delphi 2005 Professional
 
#7

Re: XP-Style in DLL

  Alt 29. Dez 2005, 20:55
Zitat von faux:
Zitat von md_mse:
Eine DLL ist nicht unbedingt nur eine Funktionssammlung. DLL's sind im Grunde genommen ja auch nur modifizierte EXE Files.
Und in meine DLL's kann ich ja auch VCL Forms klatschen, ich weiss nicht wie es bei dir ist .
Trotzdem musst du diese extra aufrufen. Alleiniges referenzieren reicht hier nicht.
Außerdem musst du trotzdem alles in Funktionen packen, wenn du eine Form in eine DLL geben willst. Klassen kannst du da IMHO nicht verwenden.
Ääähm ... funktioniert folgendermaßen:
Programm lädt DLL -> Programm ruft Funktion aus der Dll auf -> DLL zeigt VCL-Form an -> ... VCL Form hat *kein* XP-Style ... -> Problem

Das mit dem Manifest wäre soweit kein problem, doch leider ist das "fremde" Programm dass meine dll lädt rundll32.exe, und dieses liegt bekanntlicherweise im system-verzeichnis, auf welches leider nicht jeder zugriffsrechte hat. Und mein Programm sollte möglichst nicht nur mit Admin-Rechten laufen ...
Aber es wird doch wohl ne andere möglichkeit geben, oder? Hoffe ich zumindest ... ideen?

ciao, Philipp
Philipp
There is never enough time to do all the nothing you want.
*HABENWILL*
  Mit Zitat antworten Zitat
Benutzerbild von md_mse
md_mse

Registriert seit: 13. Aug 2003
Ort: Berlin
95 Beiträge
 
#8

Re: XP-Style in DLL

  Alt 29. Dez 2005, 21:19
Zitat von faux:
Zitat von md_mse:
Eine DLL ist nicht unbedingt nur eine Funktionssammlung. DLL's sind im Grunde genommen ja auch nur modifizierte EXE Files.
Und in meine DLL's kann ich ja auch VCL Forms klatschen, ich weiss nicht wie es bei dir ist .
Trotzdem musst du diese extra aufrufen. Alleiniges referenzieren reicht hier nicht.
Außerdem musst du trotzdem alles in Funktionen packen, wenn du eine Form in eine DLL geben willst. Klassen kannst du da IMHO nicht verwenden.

Grüße
Faux
Das beste Beispiel für Objekte in DLL's sind gut programmierte Plugins (und natürlich ein Pluginsystem).
DLL instantiizert Objekt das ein Interface implementiert. Anwendung die das Objekt benutzen möchte, verwendet das Interface direkt (überschreibt die Referenz natürlich mit der aus der DLL). So funktionniert übrigens auch DirectX: dem Porgrammierer stehen nur Interfaces zur Verfügung die von den DX DLL's implementiert und instatiiert werden.

@c113plpbr: Hm, da weiss ich leider auch nicht mehr weiter...
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: XP-Style in DLL

  Alt 29. Dez 2005, 21:37
@md_mse:
Schon klar, aber ich wollte ja nur sagen, dass du in DLLs nur Funktionen unterbringenkannst. Du hast dann gesagt, dass man auch Forms reinpacken kann, und ich dann wiederum, dass auch diese in Funktionen sind.

Ist die DLL von dir, also hast du den Code?
md_mse hat bereits vorgeschlagen, dass du mal mit manifest probieren kannst.
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von md_mse
md_mse

Registriert seit: 13. Aug 2003
Ort: Berlin
95 Beiträge
 
#10

Re: XP-Style in DLL

  Alt 29. Dez 2005, 21:46
@faux: Ja gut, sind das Programme nicht auch?
@c113plpbr: Hast du eigentlich mal versucht diese manifest XML in die Ressourcen hinzuzufügen?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 13:27 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