Delphi-PRAXiS

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 TGauge in Turbo Delphi? (https://www.delphipraxis.net/76706-tgauge-turbo-delphi.html)

Matze 8. Sep 2006 13:44


TGauge in Turbo Delphi?
 
Hi zusammen,

nun habe ich doch einmal eine Frage zu den TurboDelphi-Komponenten. Ich dachte immer der Reiter "Beispiele", der Komponenten wie TGauge enthielt, gehöre zum VCL-Standardumfang von Delphi, doch bei der Turbo-Version gibt es diesen Reiter nicht.

Sind das Drittkomponenten oder wieso fehlt dieser dann?

Ich konnte dazu auch nirgendwo etwas nachlesen, sorry, falls ich etwas übersehen haben sollte.

mkinzler 8. Sep 2006 13:52

Re: TGauge in Turbo Delphi?
 
Borland hat auch nirgends geschrieben, daß es sich bei den Turbos (Pro)1 zu 1 um die Personalities von BDS2006 handelt oder was der Unterschied im Umfang ist. Bei den Explorer Versionen, haben sie auch nur die Unterschiede zur Pro erklärt.

Matze 8. Sep 2006 14:36

Re: TGauge in Turbo Delphi?
 
Hm, komisch. Ich hätte halt angenommen, TGauge gibt's seit einigen Delphi-Versionen, darum wird es das weiterhin auch geben. Im BDS 2006 sind die - denke ich - ja auch mit dabei, oder nicht?

Bernhard Geyer 8. Sep 2006 14:42

Re: TGauge in Turbo Delphi?
 
TGauge ist in D2006 Pro vorhanden.
Aber Überlege mal wieso das man dies auf die Reiterseite "Beispiele" gelegt hat :gruebel: Einfach nur das man dies ohne langes überlegen einfach mal weglassen könnte bzw. durch andere Beispiele ersetzten könnte.

Wieso nimmst Du denn nicht einfach TProgressbar?

Matze 8. Sep 2006 14:46

Re: TGauge in Turbo Delphi?
 
Zitat:

Zitat von Bernhard Geyer
Wieso nimmst Du denn nicht einfach TProgressbar?

Weil ich da die Prozentangabe manuell zeichnen müsste und ich keine Farbeigenschaften habe. Klar geht das auch manuell, mich hat es nur gewundert.
Ich sagte auch nicht, dass ich TGauge zwingend benötige, sondern mich hat interessiert, wieso das nicht mit dabei ist.

Balu der Bär 8. Sep 2006 14:46

Re: TGauge in Turbo Delphi?
 
Liste der Anhänge anzeigen (Anzahl: 2)
Moin Matze,

in der Tat ein seltsames Problem.
Ich habe in meinem Projekt auch eine Gauges verwendet (noch im BDS 06), unter TurboDelphi konnte ich auch alles fehlerfrei komplieren. Als ich diesen Thread gesehen habe, habe ich mal das betreffende Formular aufgerufen und tatsächlich bekomme ich die Meldung das TGauge nicht vorhanden ist (Anhang 1). Das Kompilierenjedoch läuft fehlerfrei (Anhang 2), was wohl daran liegt das die Unit "gauges.pas" in den Delphi-Source-Verzeichnissen vorhanden ist. Jedoch habe ich die Gauges im Quelltext nicht manuell erstellt, sondern alles so gelassen. Ich frage mich also a) warum die Unit vorhanden hast, TGauge aber nicht in die IDE integriert ist und b) wie Delphi es schafft diese angeblich nicht vorhandene Komponente automatisch zu erstellen und initialisieren? :gruebel:

@Bernhard: TProgressBar hat das Manko das keine Prozentanzeige vorhanden ist.

Matze 8. Sep 2006 14:50

Re: TGauge in Turbo Delphi?
 
Sehr mysteriös, bei mir kommt dann immer das hier:

Code:
---------------------------
Fehler
---------------------------
Feld Form1.Gauge1 besitzt keine entsprechende Komponente. Soll die Deklaration entfernt werden?
---------------------------
Ja  Nein  Abbrechen  Hilfe  
---------------------------

Balu der Bär 8. Sep 2006 14:52

Re: TGauge in Turbo Delphi?
 
Bei dir gibt es doch auch die "gauges.pas" oder? Dann könntest du die Gauges ja einfach manuell erzeugen.

Was aber immernoch nicht diese myteriösen Dinge erklärt. :gruebel:

Matze 8. Sep 2006 14:59

Re: TGauge in Turbo Delphi?
 
Ja stimmt, die ist wirklich dabei. Manuell erzeugen wäre dann ja kein Problem. Aber dennoch ist mir hier einiges unklar. :gruebel:

mkinzler 8. Sep 2006 15:23

Re: TGauge in Turbo Delphi?
 
In der Vorankündigung der Tubos stand bei Delphi.W32 mit über 200 Komponenten. BDS2006 hat aber mehr.. Ich hab mich ja da schobn gefragt, welche fehlen?

r2c2 8. Sep 2006 16:32

Re: TGauge in Turbo Delphi?
 
TGauge steckt im Package dclsmp100.bpl. Das is aber in der Express-Version nicht installiert. Auch, wenn es vorhanden ist(mit den Indys z.B. is das genauso). Die Packages(incl. Source) sind da, nur eben nicht installiert...

Warums aber trotzdem kompiliert...? Vielleicht weil die dcu noch da war... :gruebel:

mfg

Christian

Balu der Bär 8. Sep 2006 16:34

Re: TGauge in Turbo Delphi?
 
Für TGauge braucht man kein Package, man hat doch die Unit.

r2c2 8. Sep 2006 16:38

Re: TGauge in Turbo Delphi?
 
Zitat:

Zitat von Balu der Bär
Für TGauge braucht man kein Package, man hat doch die Unit.

Ich weiß. Man hat aber auch die StdCtrls.pas und TButton is trotzdem in nem Package... Die Packages sind für die Komponentenpalette. Da das entsprechende Package aber nicht installiert is, is es auch nicht da drin...

Guck mal unter Komponenten-->Packages installierten. Da sind alls Packages aufgelistet. Nur die mit nem Haken davor sind installiert. Für den Rest zu installieren braucht man die Prof...

mfg

Christian

Matze 8. Sep 2006 17:24

Re: TGauge in Turbo Delphi?
 
Das ist ja bekannt, doch darum geht's hier nicht. Der Register "Beispiele" ist, ich sage mal, seit jeher bei Delphi in der Komponentenpalette. Für mich gehört dieser daher zum Standardumfang. Die Turbo Explorer-Versionen haben u.a. die Einschränkung, dass Drittkomponenten nicht installiert werden können. Aber TGauge und die anderen dazu gehörenden sind doch keine Drittkomponenten.

Darum verstehe ich das nicht ganz.

r2c2 8. Sep 2006 17:35

Re: TGauge in Turbo Delphi?
 
Für Borland gehören sie scheinbar zu den Nicht-Standard-Komponenten. Deshalb sind sie deaktiviert. Warum? Vllt. weils nur "Beispiele" für eigene Komponenten sein sollen und eigene Komponenten laut Borland ja auch nicht gehen... Ich sag nicht, dass das ich das auch so sehe(am liebsten hätten wir natürlich alle ne Architect ohne Einschränkungen für kost-nix), aber ich nehm an, Borland sieht das so und ich halte das für durchaus legitim... Wie war das mit dem geschenkten Gaul...? :gruebel: Wobei man dem natürlich auch n bisschen Kraftfutter geben kann(siehe TurboExplorerStudio :wink:)...

mfg

Christian

Elvis 8. Sep 2006 17:37

Re: TGauge in Turbo Delphi?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Öffne die dclusr.dpk und wirf es da rein. Kompiliere das Package und drücke auf Install.
Flupp -> drin! :mrgreen:

Geht aber nur bei dem einen Package!

mkinzler 8. Sep 2006 17:39

Re: TGauge in Turbo Delphi?
 
Da stellt sich die Frage: Gibt es eine Beschränkung der Anzahl der Komponenten eines Packages :lol:

Elvis 8. Sep 2006 17:42

Re: TGauge in Turbo Delphi?
 
Zitat:

Zitat von mkinzler
Da stellt sich die Frage: Gibt es eine Beschränkung der Anzahl der Komponenten eines Packages :lol:

Gesunden Menschenverstand.
Ich habe früher in D7 goar Nüschts in diesem Package gehabt, da ich gerne Runtime packages benutzt habe.
Naja manchmal ist ein Schritt zurück für 0€ besser als einer vorwärts für ein paar 100€. :mrgreen:

Balu der Bär 8. Sep 2006 17:59

Re: TGauge in Turbo Delphi?
 
Ähm ich steh gerade irgendwie auf dem Schlauch. :gruebel:

Ich habe die gauges.pas der dclusr.dpk hinzugefügt, compiliert und installiert, trotzdem hab ich keine TGauges in der Komponentenpalette. :gruebel:

Die Muhkuh 8. Sep 2006 18:00

Re: TGauge in Turbo Delphi?
 
Elvis: :mrgreen:

der TSpinButton fehlt auch^^

Matze 8. Sep 2006 18:05

Re: TGauge in Turbo Delphi?
 
SynEdit :shock:

Ich teste das mal, danke. :)

Die Muhkuh 8. Sep 2006 18:15

Re: TGauge in Turbo Delphi?
 
Ich sehs schon kommen. In ein paar Stunden kommen die Fragen, warum das Package nicht mehr geht, weil da Jedi, SynEdit und hassu nich gesehen drin ist. :mrgreen:

Balu der Bär 8. Sep 2006 18:18

Re: TGauge in Turbo Delphi?
 
Zitat:

Zitat von Spider
Ich sehs schon kommen. In ein paar Stunden kommen die Fragen, warum das Package nicht mehr geht, weil da Jedi, SynEdit und hassu nich gesehen drin ist. :mrgreen:

Ich krieg gar nichts da rein. :-( :mrgreen:

Balu der Bär 8. Sep 2006 18:42

Re: TGauge in Turbo Delphi?
 
So ich habe es jetzt geschafft:

Problem war das in der Unit Gauges.pas keine Register-Methode vorhanden war!
Also öffnet die Gauges.pas, fügt nach allen Prozedurdeklarationen procedure Register; ein, unter uses consts fügt ihr
Delphi-Quellcode:
procedure Register;
begin
 RegisterComponents('Samples', [TGauge]);
end;
ein.

Das ganze sollte dann in etwas so aussehen (nur der Anfang der Unit):
Delphi-Quellcode:
unit Gauges;

interface

uses SysUtils, Windows, Messages, Classes, Graphics, Controls, Forms, StdCtrls;

type

  TGaugeKind = (gkText, gkHorizontalBar, gkVerticalBar, gkPie, gkNeedle);

  TGauge = class(TGraphicControl)
  private
    FMinValue: Longint;
    FMaxValue: Longint;
    FCurValue: Longint;
    FKind: TGaugeKind;
    FShowText: Boolean;
    FBorderStyle: TBorderStyle;
    FForeColor: TColor;
    FBackColor: TColor;
    procedure PaintBackground(AnImage: TBitmap);
    procedure PaintAsText(AnImage: TBitmap; PaintRect: TRect);
    procedure PaintAsNothing(AnImage: TBitmap; PaintRect: TRect);
    procedure PaintAsBar(AnImage: TBitmap; PaintRect: TRect);
    procedure PaintAsPie(AnImage: TBitmap; PaintRect: TRect);
    procedure PaintAsNeedle(AnImage: TBitmap; PaintRect: TRect);
    procedure SetGaugeKind(Value: TGaugeKind);
    procedure SetShowText(Value: Boolean);
    procedure SetBorderStyle(Value: TBorderStyle);
    procedure SetForeColor(Value: TColor);
    procedure SetBackColor(Value: TColor);
    procedure SetMinValue(Value: Longint);
    procedure SetMaxValue(Value: Longint);
    procedure SetProgress(Value: Longint);
    function GetPercentDone: Longint;
  protected
    procedure Paint; override;
  public
    constructor Create(AOwner: TComponent); override;
    procedure AddProgress(Value: Longint);
    property PercentDone: Longint read GetPercentDone;
  published
    property Align;
    property Anchors;
    property BackColor: TColor read FBackColor write SetBackColor default clWhite;
    property BorderStyle: TBorderStyle read FBorderStyle write SetBorderStyle default bsSingle;
    property Color;
    property Constraints;
    property Enabled;
    property ForeColor: TColor read FForeColor write SetForeColor default clBlack;
    property Font;
    property Kind: TGaugeKind read FKind write SetGaugeKind default gkHorizontalBar;
    property MinValue: Longint read FMinValue write SetMinValue default 0;
    property MaxValue: Longint read FMaxValue write SetMaxValue default 100;
    property ParentColor;
    property ParentFont;
    property ParentShowHint;
    property PopupMenu;
    property Progress: Longint read FCurValue write SetProgress;
    property ShowHint;
    property ShowText: Boolean read FShowText write SetShowText default True;
    property Visible;
  end;

procedure Register; //Neu hinzufügen!

implementation

uses Consts;

//Neu hinzufügen!
procedure Register;
begin
 RegisterComponents('Samples', [TGauge]);
end;

type
  TBltBitmap = class(TBitmap)
    procedure MakeLike(ATemplate: TBitmap);
  end;

{ TBltBitmap }

procedure TBltBitmap.MakeLike(ATemplate: TBitmap);
begin
  Width := ATemplate.Width;
  Height := ATemplate.Height;
  Canvas.Brush.Color := clWindowFrame;
  Canvas.Brush.Style := bsSolid;
  Canvas.FillRect(Rect(0, 0, Width, Height));
end;
Dann die Unit Gauges.pas abspeichern, der dclusr.dpk hinzufügen und das Package neu kompilieren bzw. installieren. Funktioniert einwandfrei.

Elvis 8. Sep 2006 19:04

Re: TGauge in Turbo Delphi?
 
Zitat:

Zitat von Balu der Bär
So ich habe es jetzt geschafft:
Problem war das in der Unit Gauges.pas keine Register-Methode vorhanden war!

*Blitzmerkerliste vorzück* :mrgreen:
Ich will jetzt auch gar nicht darauf hinweisen wie offensichtlich das war.... :angle2:

Balu der Bär 8. Sep 2006 19:04

Re: TGauge in Turbo Delphi?
 
Jaja, muss man erstmal drauf kommen sich auch mal die Unit anzugucken. :mrgreen:

crocodilechris 20. Sep 2006 15:27

Re: TGauge in Turbo Delphi?
 
Zitat:

Zitat von Elvis
Öffne die dclusr.dpk und wirf es da rein. Kompiliere das Package und drücke auf Install.
Flupp -> drin! :mrgreen:

Geht aber nur bei dem einen Package!

Hallo,
was genau muss ich in die dclusr.dpk reinschreiben, um, in meinem Fall, Spin.pas "reinzuwerfen"?
Welche Compiler-Direktive muss ich wie verwenden?

Elvis 20. Sep 2006 15:32

Re: TGauge in Turbo Delphi?
 
Zitat:

Zitat von crocodilechris
Hallo,
was genau muss ich in die dclusr.dpk reinschreiben, um, in meinem Fall, Spin.pas "reinzuwerfen"?
Welche Compiler-Direktive muss ich wie verwenden?

Hallo Krokofant :hi:
Wenn du eine neuere Version der Turbos von Borland gezogen hast wird der Trick nicht mehr gehen, genauso nach dem Installieren der Hotfixes.
Balu weiß hier vllt mehr.

Wenn du eine Version hast, bei der der Trick noch geht: Einfach eine Unit in das Package packen, dass die Komponenten registriert.
Ehrlich gesagt erkläre ich nur ungern wie das geht, da ich es nicht gut finde wenn man ein "Programm" mit X Zusatzkomponenten zusammenklickt, aber nichtmal weiß wie man Komponenten registriert. OK, ungern ist untertrieben: Ich erkläre das nicht.

Balu der Bär 20. Sep 2006 15:39

Re: TGauge in Turbo Delphi?
 
Zitat:

Zitat von Elvis
Balu weiß hier vllt mehr.

Ich habe keine Lust mehr es auszuprobieren, selbst mit der neuen Version geht es vielleicht aber auch so einfach wie mit dem Problem bei den Hotfixes. Es gibt für alles eine Lösung. :mrgreen:

http://www.delphipraxis.net/internal...=613293#613293

crocodilechris 20. Sep 2006 15:53

Re: TGauge in Turbo Delphi?
 
okay reinschmeißen = in der Projektverwaltung hinzufügen.

und die benötigte dclusr.res hab ich leider nich, von D2005PE nimmt er sie nich an.
Funzt das evtl mit einer dclusr.res von euch, bzw. kann einer die hier anhängen, damit ich mir die runterziehen und das ausprobieren kann?

Balu der Bär 20. Sep 2006 15:55

Re: TGauge in Turbo Delphi?
 
Jupp mit einer original dclusr.res sollte es auch bei dir gehen. Ich werde diese aber garantiert nicht hier oder sonstwo zum Download bereitstellen, wer weiß ob man mir nen Strick daraus drehen könnte (Copyright, etc). :zwinker:

vlees91 20. Sep 2006 16:03

Re: TGauge in Turbo Delphi?
 
....
ich habe die turbo's vom anfang und trotzdem kommt beim kompilieren der dpk diese meldung:
[Pascal Error] E2161 RLINK32: Unsupported 16bit resource in file "c:\program files\borland\bds\4.0\lib\dclusr.res"


edit: jetzt klappts

edit2: chrocodilechris, du hast post


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:43 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