![]() |
Page control
Hallo!
Um die tabs vom Pagecontrol einzufärben verwende ich folgenden code (hier im Board gefunden), klappt auch super, nur wenn ich Typisierte Kunstanten verwende Meckert der Compiler. :x Was mach ich falsch?? Das alles, weil ich zur Laufzeit die farben durch den anwender ändern lassen möchte.
Delphi-Quellcode:
const
{ hier bekomme ich die Fehlermeldung} farbe11 :integer=44444; farbe12 :integer=44444; farbe13 :integer=44444; farbe14 :integer=44444; farbe15 :integer=44444;
Delphi-Quellcode:
const {FUNZT}
farbe11 = 44444; farbe12 = 44444; farbe13 = 444487; farbe14 = 44254; farbe15 = 44444;
Delphi-Quellcode:
mfg schniede
procedure TForm1.PageControlDrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean); const _clTabColors : array [0..4] of TColor = (farbe11,farbe12,farbe13,farbe14,farbe15); _sTabCaptions : array [0..4] of string = (' Hauptansicht',' Einzelans.- Kunde',' Best. Waren ges.',' Warenlager',' Eigene Umsätze'); begin Control.Canvas.Brush.Color := _clTabColors[TabIndex]; Control.Canvas.FillRect(Rect); Control.Canvas.TextOut(Rect.Left+5,Rect.Top+3,_sTabCaptions[TabIndex]); end; [edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit] |
Re: Page control
Moin Schniede,
Zitat:
Welche Meldung kommt denn? |
Re: Page control
[Fehler] Kundenverwaltung.pas(2558): Konstantenausdruck erwartet
das zeigt mir der Compiler die Konstanten habe ich global deklariert ,wenn das was zu sagen hat. schniede P.s. das progi war glaube auch von dir !! |
Re: Page control
Ist doch nicht so gemacht:
Delphi-Quellcode:
Wenn ja, dann ohne CONST:
type TForm1 = class(TForm)
private { Private-Deklarationen } Const FarbeX: TColor = 44444; public { Public-Deklarationen } end;
Delphi-Quellcode:
Deins funktioniert zwar, richtiger währe es aber so.
type TForm1 = class(TForm)
private { Private-Deklarationen } FarbeX: TColor = 44444; public { Public-Deklarationen } end;
Delphi-Quellcode:
Const FarbeX: TColor = 44444;
|
Re: Page control
hi himitsu ,habe mal deine version probiert funktioniert genausewenig wie meine.
hab auch schon unter compileroptionen geschaut ,ist aber angehakt "zuweisbare typisierte Konstanten" ,hm weiß kein rat :wall: mfg schniede |
Re: Page control
So fällt mir auch nichts mehr ein.
Kannst'e mal den gesamten Code posten (als Anhang) oder per eMail, dann schau ich mir's mal direkt an. |
Re: Page control
Das wird ein problem.Das Progi besteht aus mehreren units,formularen und 5 tabellen gehören auch noch dazu.da brauchst du ne woche um den anfang zu finden. Ist aber nett gemeint oder hab ich dich falsch verstanden ? :wall:
hab da was in der hilfe gefunden ,weiß nur nicht wo ich das hinpinseln soll :roll:
Delphi-Quellcode:
Im Status $WRITEABLECONST OFF führt dieser Quelltext bei der Zuweisung an die Variable foo im begin..end-Block zu einem Compiler-Fehler. Sie können das Problem beheben, indem Sie foo nicht als const, sondern als var deklarieren.
In den früheren Versionen von Delphi und Borland Pascal konnten typisierte Konstanten immer geändert werden (wie im Status {$J+}). Deshalb muss älterer Quelltext, der änderbare typisierte Konstanten enthält, im Status {$J+} compiliert werden. vieleicht kanst du mir da helfen? |
Re: Page control
Moin Schniede,
der unter Teil stammt von mir, das stimmt wohl, aber der obere nicht ;-) Ich hatte auch Konstanten benutzt die mit = TColor(...) deklariert werden. Übrigens tritt der Fehler ja nicht bei der Konstantendeklaration auf, sondern wenn Du diese Nutzen willst. Wenn die Farben vom User eingestellt werden sollen, warum nimmst Du dann nicht statt des Konstanten Arrays eine Variable, die entsprechend der Auswahl die Einträge enthält. Halte ich für entschieden sauberer ;-) |
Re: Page control
{$J+} muss auf jeden Fall vor der Deklaration deiner Konstante angegeben werden.
z.B.
Delphi-Quellcode:
{$J+}
Const FarbeX: Integer = 44444; |
Re: Page control
Das würde ich liebend gerne Variablen benutzen, nur das hab ich nicht hinbekommen,dein quelltext zu ändern.
vieleicht kannst du mir das mal umschreiben das ich anstelle der Konst. variablen benutzen kann. mfg schniede |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 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 by Thomas Breitkreuz