AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

XPMan erst zur Laufzeit anwenden?

Ein Thema von QuickAndDirty · begonnen am 18. Feb 2004 · letzter Beitrag vom 19. Feb 2004
Antwort Antwort
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.882 Beiträge
 
Delphi 12 Athens
 
#1

XPMan erst zur Laufzeit anwenden?

  Alt 18. Feb 2004, 13:41
Hallo,
Ich möchte den XPStyle Ein un abschaltbar,
z.b. über eintrag in ini-Datei.
Dachte das das vielleicht über ein Dynamisches
Linken einer Resourcen DLL mit dem Manifest
gehen könnte erhalte aber zur lauf zeit eine
AccessViolation,
Ist allerdings auch mein erstes Dll
Wie müstte so eine DLL Aussehen
und Wie soll ich sie dann im bedarfs fall
zur laufzeit einbinden?

Hätte vielleicht jemand ein Code Beispiel?
Andreas
  Mit Zitat antworten Zitat
Ratte

Registriert seit: 12. Dez 2003
Ort: Erfurt
345 Beiträge
 
Delphi 2005 Personal
 
#2

Re: XPMan erst zur Laufzeit anwenden?

  Alt 18. Feb 2004, 18:34
Hi QuickAndDirty,

vielleicht kannst du mit diesem Tutorial etwas anfangen. ( http://www.delphi-source.de/tutorials/komplaufzeit/ )

Ratte
Schiffsratte der U.S.S. Delphipraxis, Laderaum 4538
BUSH:= TTerminator.create;
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.882 Beiträge
 
Delphi 12 Athens
 
#3

Re: XPMan erst zur Laufzeit anwenden?

  Alt 19. Feb 2004, 08:40
Sorry,
das Tutorial sagt mir nichts wirklich neues
und hat auch nichts mit dem Thema zu tun.


Ich binde das DLL Project2.dll so ein
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls,Unit2;

type
  TForm1 = class(TForm)
    UpDown1: TUpDown;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

Function GetName:string; external 'Project2.dll';

var
  Form1: TForm1;
  bar:Tscrollbar;


implementation
{$R *.dfm}
//{$R ADCDesign.res}
procedure TForm1.FormCreate(Sender: TObject);
begin
  bar := tscrollbar.Create(self);
  bar.Parent := self;
// if LoadNewResourceModule(WindowsXP) <> 0 then
// ReinitializeForms;

end;

procedure TForm1.FormShow(Sender: TObject);
begin
  Form2.show;
  caption := Getname;
end;

end]
So sieht die DLL Aus die ich mit dem XPMan einlinke
Ich glaube sie wird erst geladen wenn man,
eine ihrer Funktionen zum ersten mal benutzt.
Leider erhalte ich dann(an der stelle Getname) eine AccessViolation
Delphi-Quellcode:
library Project2;

uses
  SysUtils,
  Classes,
  XPMan;
{$R *.res}
Function GetName:String;stdcall;
begin
  result := 'Project2';
end;

exports
  Getname;

begin
end.
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Drakon

Registriert seit: 18. Feb 2004
1 Beiträge
 
#4

Re: XPMan erst zur Laufzeit anwenden?

  Alt 19. Feb 2004, 08:59
Hallo,

du solltest selbst nach der Lösung suchen und nicht das andere für dich die Arbeit machen. So und nun fang an zu arbeiten.
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#5

Re: XPMan erst zur Laufzeit anwenden?

  Alt 19. Feb 2004, 09:20
Zitat von QuickAndDirty:
Delphi-Quellcode:
library Project2;

uses
  SysUtils,
  Classes,
  XPMan;

{$R *.res}

Function GetName:ShortString;stdcall;
// Zeigertypen sind nicht erlaubt bzw. nur unter besonderen Umständen
//
// alternativ
// function GetName(apName : PChar; adwLen : Cardinal) : Cardinal;
// const
// csName = 'Project2';
// begin
// Result := Min(Length(csName, adwLen));
// StrLCopy(apName, csName, Result);
// end;
begin
  result := 'Project2';
end;

exports
  Getname;

begin
end.
Ein Manifest in der Dll muss anders aufgebaut sein, wie das einer EXE. Wie genau weis ich nicht.

Schau dir mal die Themes-Unit an. Vielleicht siehst du da einen anderen weg!
Da ich die Themes nicht ausstehen kann habe ich bisher wenig gemacht!
Aber eins noch die Themes ein und ausschalten kann man auch über Windows-Anzeige-Eigenschaften. Warum soll man sowas doppelt einstellen?

Weitere Info:

OH: Themen, Windows XP
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.882 Beiträge
 
Delphi 12 Athens
 
#6

Re: XPMan erst zur Laufzeit anwenden?

  Alt 19. Feb 2004, 12:05
Danke Neolithos
werd ich gleich mal propieren.

mfg
QuickAndDirty

PS.: @Drakon-> Den flame werd ich nicht aufnehmen.
Bedenke auch du wirst irgendwann einmal Hilfe
brauchen, wilst sicher nicht das dich so
ein dummer ANONYMUS herausfordert!
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:54 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