Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi VCL-Styles (https://www.delphipraxis.net/165307-vcl-styles.html)

Jens Hartmann 22. Dez 2011 22:11

VCL-Styles
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,

ich experimentiere gerade mit den VCL-Styles von Delphi XE2. Mach ich ein neues Projekt auf, funktioniert das ganze. In meinem Projekt kommt es zu einer Fehlermeldung(siehe Anhang).
Seltsam ist, das ich ein ähnliches Problem beim testen der Ribbon-Bar hatte(Style Wechsel).

Kann es eventuell sein, das dieses mit Komponenten zusammen hängt, die erst zur Laufzeit erstellt werden. Im OnCreate der Form. Wenn ich diesen Teil auskommentiere, geht das ganze.

Gruß Jens

Luckie 22. Dez 2011 22:33

AW: VCL-Styles
 
Hm, ist alles ein bisschen wenig an Informationen.

Jens Hartmann 23. Dez 2011 09:54

AW: VCL-Styles
 
Hallo Luckie,

eigendlich ist die Sache ganz einfach. Ich erstelle im OnCreate auf einem vorhandenen FlowPanel mehrer TJvPanels mit jeweils einem TMemo und zwei TALed´s. Die neuen Komponenten werden als Globales array gespeichert.

Es kann aber ja nicht am Code selbst liegen, da dieser ja mit dem Standart Windows Style ohne Probleme funktioniert.

Ich könnte mir vorstellen, das irgendeine der Komponenten eventuell mit dem entsprechenden Style nicht zu recht kommt. Da ich aber von den Styles bis jetzt noch gar keine Ahnung habe, bin ich da halt aktuell am suchen.

Was ich mittlerweile noch feststellen konnte, ist das verschieden Styles scheinbar funktionieren und andere nicht. Ich werde das mal heute Nachmittag noch ein wenig ausprobieren.

Gruß Jens

Jens Hartmann 23. Dez 2011 13:48

AW: VCL-Styles
 
Es geht.

Ich weiß zwar nicht genau warum, aber es funktioniert. Ich hatte eine Klasse, welche in meine Anwendung eingebunden war, mit der ich die Komponenten im OnCreate erstellt habe. Nachdem ich diese Klasse entfernt habe und die Funktionen direkt in den Code meiner App eingebunden habe, geht es.

Jetzt muss ich die Klasse wohl mal Stück für Stück wieder auslagern und schauen wo der Fehler liegen könnte.

Fragt sich nur, warum die Klasse mit Standart Style keine Problem macht...:gruebel:

Gruß jens

Jens Hartmann 27. Dez 2011 13:23

AW: VCL-Styles
 
Hallo zusammen,

erstmal hoffe ich, das Ihr schönen Feiertage hattet. Ich habe mich soeben nochmal mit meinem Problem beschäftig. Also der Fehler mit der ausgelagerten Klasse tritt immer noch auf. Folgend habe ich mal die Klasse und deren aufrufe etc. zusammen gestellt. Vieleicht kann ja jemand da schon einen Fehler sehen.

Delphi-Quellcode:
//Ein Teil meiner Klasse
unit Bereiche;

interface

type
  TBereiche = class(TObject)
    private
      var
        BereichText : array[1..6] of string;
    public
      procedure SetBereich(Nr : integer; Text : string);
      function GetBereich(Nr : integer) : string;
   //Ich weiß, normal wird die Übergabe über property gemacht. Das ist aktuell nur zum testen....
  end;

implementation

{ TBereiche }
procedure TBereiche.SetBereich(Nr: integer; Text: string);
begin
  BereichText[Nr] := Text;
end;

function TBereiche.GetBereich(Nr: integer): string;
begin
  Result := BereichText[Nr];
end;

//im interface Teil der MainForm
  uses
    ...,Bereiche;
  ...
  private
  ...  
  var
    FBereiche : TBereiche;

//im OnCreate der MainForm
  FBereiche := TBereiche.Create;

//im OnDestroy der MainForm
  FBereiche.Free;

//als Versuch und hier knallts schon
  FBereiche.SetBereich(1,'Test');
...
procedure TBereiche.SetBereich(Nr: integer; Text: string);
begin
  BereichText[Nr] := Text;//hier kommt die Zugriffsverletzung, in der variablen stehen vor der Zuweisung ganz viele wilde chinesiche Zeichen etc...
end;
//Kann es sein, das der Absturz mit den variablen zusammen hängt?
Eventuell kann ja jemand den Fehler einschränken...

Gruß und Danke schon mal

Jens

Jens Hartmann 27. Dez 2011 13:25

AW: VCL-Styles
 
Hallo zusammen,

erstmal hoffe ich, das Ihr schönen Feiertage hattet. Ich habe mich soeben nochmal mit meinem Problem beschäftig. Also der Fehler mit der ausgelagerten Klasse tritt immer noch auf. Folgend habe ich mal die Klasse und deren aufrufe etc. zusammen gestellt. Vieleicht kann ja jemand da schon einen Fehler sehen.

Delphi-Quellcode:
//Ein Teil meiner Klasse
unit Bereiche;

interface

type
  TBereiche = class(TObject)
    private
      var
        BereichText : array[1..6] of string;
    public
      procedure SetBereich(Nr : integer; Text : string);
      function GetBereich(Nr : integer) : string;
   //Ich weiß, normal wird die Übergabe über property gemacht. Das ist aktuell nur zum testen....
  end;

implementation

{ TBereiche }
procedure TBereiche.SetBereich(Nr: integer; Text: string);
begin
  BereichText[Nr] := Text;
end;

function TBereiche.GetBereich(Nr: integer): string;
begin
  Result := BereichText[Nr];
end;

//im interface Teil der MainForm
  uses
    ...,Bereiche;
  ...
  private
  ...  
  var
    FBereiche : TBereiche;

//im OnCreate der MainForm
  FBereiche := TBereiche.Create;

//im OnDestroy der MainForm
  FBereiche.Free;

//als Versuch und hier knallts schon
  FBereiche.SetBereich(1,'Test');
...
procedure TBereiche.SetBereich(Nr: integer; Text: string);
begin
  BereichText[Nr] := Text;//hier kommt die Zugriffsverletzung, in der variablen stehen vor der Zuweisung ganz viele wilde chinesiche Zeichen etc...
end;
//Kann es sein, das der Absturz mit den variablen zusammen hängt?
Eventuell kann ja jemand den Fehler einschränken...

Gruß und Danke schon mal

Jens

Bummi 27. Dez 2011 13:45

AW: VCL-Styles
 
das einzig ungewöhliche scheint mir das zu sein:
Delphi-Quellcode:
    private
      var

Jens Hartmann 27. Dez 2011 13:57

AW: VCL-Styles
 
Liste der Anhänge anzeigen (Anzahl: 2)
das ist aber nicht das Problem, hab ich gerade entfernt. Im Anhang mal ein Screenshot der Fehlermeldung und Variablen.

Uwe Raabe 27. Dez 2011 14:53

AW: VCL-Styles
 
Zitat:

Zitat von Jens Hartmann (Beitrag 1143303)
Delphi-Quellcode:
BereichText[Nr] := Text;//hier kommt die Zugriffsverletzung, in der variablen stehen vor der Zuweisung ganz viele wilde chinesiche Zeichen etc...

Das sieht so aus, als ob du ein nicht initialisiertes Objekt benutzt. Bei einem sauber initialisiertem Objekt wären die Strings alle leer.

P.S.: ...oder der Speicherbereich wird irgendwie überschrieben.

Jens Hartmann 27. Dez 2011 14:56

AW: VCL-Styles
 
Ja, aber wie und wo.

Ich benutze das gesamte Objekt bis jetzt nur im gezeigten Code. Nirgenwo anders, greife ich drauf zu, schreiben das Objekt etc.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:14 Uhr.
Seite 1 von 2  1 2      

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