![]() |
Delphi-Version: 5
Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Hallo,
Im Thread "Befindet sich Delphi noch auf der Höhe der Zeit?" kamen auch ab und an die Beschwerden dass die RTL einige heutzutage weit verbreiteten und (in anderen Sprachen) oft genutzten Funktionen/Klassen die einem das Leben z.T. sehr erleichtern könnten nicht enthält und dass es auch oft keinen (guten) nicht-kommerziellen Ersatz gibt. Ich dachte man könnte ja mal ein paar Wünsche bzgl. RTL oder auch VCL hier sammeln und vllt. hat ja sogar jmd. Lust sich an die ein oder andere Sache heran zu wagen ;) Bei Interesse und Zeit werde ich mir eventuell selbst etwas vornehmen - aber keine Garantie :mrgreen: Am liebsten wäre es mir, wenn hier in erster Linie Vorschläge gesammelt werden und es möglichst wenige Diskussionen gibt. Ein kurzer Kommentar + Antwort auf einen Vorschlag sind durchaus okay, aber längere Diskussionen sollten außerhalb des Threads stattfinden. |
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Thread safe generic TDictionary. Gibt es m.W.n. auch noch nicht im aktuellen Seattle.
|
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Na ja, Das ist doch ne Sache von ein paar Minuten, sich das hinzudengeln...
|
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Zitat:
|
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Ich wünsche mir, dass sowas endlich mal direkt eingebaut ist.
Delphi-Quellcode:
type
TPageControl = class(ComCtrls.TPageControl) private FStartupPage: TTabSheet; // Diese Seite wird beim Start der Form geladen, unabhängig von der letzten aktiven Seite in der IDE. procedure SetStartupPage(Value: TTabSheet); function SaveActivePage: Boolean; function SaveStartupPage: Boolean; published property ActivePage {: TTabSheet read FActivePage write SetActivePage} stored SaveActivePage; property ActivePageOnStartup: TTabSheet read FStartupPage write SetStartupPage stored SaveStartupPage; end; function TPageControl.SaveActivePage: Boolean; begin Result := Assigned(ActivePage) and not Assigned(FStartupPage); end; function TPageControl.SaveStartupPage: Boolean; begin Result := Assigned(FStartupPage); end; procedure TPageControl.SetStartupPage(Value: TTabSheet); begin FStartupPage := Value; if Assigned(FStartupPage) then inherited ActivePage := FStartupPage; end; |
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Zitat:
|
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Zitat:
Dein Ansatz ist noch sinnvoller. |
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Zitat:
![]() ![]() Konzepte überall möglichst einheitlich durchziehen, vorallem bei Dingen die neu eingeführt wurden. z.B. TLayout auch in der VCL, sowie auch die anderen Layoutkomponenten in VCL und FMX. RTL: Eigentlich zählt der Class-Helper nicht so richtig dazu, aber ich hätte endlich gern mehrere Helper an einer Klasse. Und ein WITH mit Namespace, ähnlich dem EXCEPT-ON. |
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Zitat:
Zitat:
Noch schöner wird es, wenn man es sich in den meisten Fällen sparen möchte, einen Lock zu holen. |
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Dass in TPath vielleicht noch paar Verzeichnisse mit aufgenommen werden.
![]() Vorallem globale und lokale Programmdatenverzeichnisse. * Windows: aktuelle Benutzer und alle Benutzer * Android: nur meine App und alle Apps * ... |
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Zitat:
GetSharedDownloadsPath und GetPublicPath geben CSIDL_COMMON_APPDATA zurück und SysUtils.GetHomePath gibt CSIDL_APPDATA zurück. |
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Zitat:
Der Spruch ist insofern zielführend, mein Guter, als das er indirekt betont, das eine API die Grundfunktionen und Klassen bereitstellen sollte, und nicht für Alles und Jedes eine Antwort parat zu haben hat. Das Wesen einer Dictionary ist ein optimal performanter Zugriff auf ein Key-Value-Paar, welches durch Threadsafe-Mechanismen in ihrer Reinheit konterkariert wird. Um dies trotzdem zu erreichen, genügt es, die Zugriffsfunktionen über Threadsynchronisationsobjekte exklusiv zugänglich zu machen. Das ich dies Dir gegenüber deutlich machen muss... :gruebel: |
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Ich wünsche mir, daß man in Stringgrids ganz einfach die Attribute für Schrift und Hintergrundfarbe zellenweise ändern kann und das dann sofort geändert wird. Die mir bekannten Möglichkeiten sind unteridisch umständlich.
Außer "FixedCols" wäre auch "FixedRows" nützlich. Und zudem eine Autoformatfunktion und sogar eine boolesche Eigenschft "autoformated", die bei jeder Änderung diese Autoformatfunktion aufruft, für die Zeilenhöhen und Spaltenbreiten. |
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Standard GUI Elemente die sich mal ohne Klimzüge in ihrer Größe(und anderen Properties z.B. Farbe, Font,...) ändern ließen wären DER Traum(Checkboxen, RadioButtons, SCROLLBARS(!),...)
|
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Geht doch mit Hilfe von Styles
|
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
hallo,
ich bin mir nicht ganz sicher, ob dies zum Thread hier passen tut. Aber ich würde mir in Delphi sowas wie Garbage Collection wünschen. Ich verursache für gewöhnlich Speicherleaks die Minimum im unteren MB-Bereich liegen, hier würde mir ein wenig mehr Unterstützung der IDE (des Compilers) helfen (Warum muss ich aufräumen??:twisted:). mfg |
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Das ist eine Frage der Plattform. Die mobilen Compiler unterstützen ARC ( "gg lite").
|
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Zitat:
|
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Zitat:
ein ARC Compiler. Jedoch bringt ARC jede Menge neue Probleme mit sich. Die VCL, viele 3rd Party Tools und dein eigener Code können mit ARC noch nicht umgehen. Ein Umbau hat sehr weit reichende Folgen. Für genau Null Mehrwert. So bequem es ist, das der Compiler für dich aufräumt, so schlimm finde ich die Try finally Blöcke nun doch nicht;-) |
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Die Parallel Library der neuen Delphi's ist sehr komfortable, wenn man aber etwas mehr als die Zahlen parallel verarbeiten will, bremsen sich die Threads gegeneinander aus.
Ich würde mir einen Threaded Memory Manager wünschen, also einen MM für jeden Thread. Dann kann jeder Thread in seinem MM toben, ohne von den anderen Threads ausgebremst zu werden. Wenn dann noch die LOCK bei der string Verarbeitung wegfallen, ![]() |
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Zitat:
|
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Zitat:
|
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Zitat:
Zitat:
Natürlich kann man sein Programm auch an die Limits der RTL anpassen und dafür Workarounds bauen. Und da es hier etwas zum Wünschen gab: Schöner ist es natürlich, das Delphi das kann, was .NET und C++ auch schon lange können. |
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Zitat:
|
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Zitat:
|
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Zitat:
|
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Zitat:
|
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Zitat:
|
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Ich hole mal den Thread nach oben.
In der Regel verwende ich in meinen Programmen 3-4 verschiedene Schriftstile Normaler Text (size = 9, color = clblack) Hervorgehobener Text1 (size = 9, color = clnavy) Hervorgehobener Text2 (size = 9, color = clred) Überschrift (size = 12, color = clblack) Ich wünsche mir eine Art "Cascading Style Sheets" für die Darstellung von (VCL-)Componenten. In Html lege ich einfach in CCS die Vorgaben für Schriften fest und kann dann über h1, h2, h3 etc. einem Text mitteilen, welche Schrift verwendet wird. Es müsste dann ein neues Property "FontStylename" geben, bei dem ich dann einfach den Stil "Hervorgehobener Text1" auswähle und schon sind die entsprechenden Werte gesetzt. Schriften könnten an zentraler stelle geändert werden. Zur Zeit nervt auch, daß eine Änderung an der Textgröße automatisch alle Eigenschaften von Font in der DFM-gespeichert. Ich arbeite viel mit vererbten Formularen. Das bedeutet, daß eine geänderte Textgröße im abgeleiteten Formular bewirkt, daß eine Änderung des Fontnamen im Template keine Auswirkung im abgeleiteten Formular mehr hat. |
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Zitat:
|
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Zitat:
Das steht in der dfm:
Code:
Ich habe Größe und auch Style explizit angepasst. In der MasterForm hab ich dann den Font.Name geändert und diese Form hatte dann auch den neuen Font.
inherited MyForm1: TMyForm1
Caption = 'MyForm1' Font.Height = -13 Font.Style = [fsBold] PixelsPerInch = 96 TextHeight = 15 end |
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Zitat:
Code:
Dann ein Label drauf
object Form2: TForm2
Left = 0 Top = 0 Caption = 'Form2' ClientHeight = 293 ClientWidth = 385 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 end
Code:
Dann von dem Label die Fontgröße geändert
object Form2: TForm2
Left = 0 Top = 0 Caption = 'Form2' ClientHeight = 293 ClientWidth = 385 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 object Label1: TLabel Left = 48 Top = 24 Width = 31 Height = 13 Caption = 'Label1' end end
Code:
object Form2: TForm2
Left = 0 Top = 0 Caption = 'Form2' ClientHeight = 293 ClientWidth = 385 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 object Label1: TLabel Left = 48 Top = 24 Width = 35 Height = 14 Caption = 'Label1' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -12 Font.Name = 'Tahoma' Font.Style = [] ParentFont = False end end Nun steht der Fontname beim Label. Klar. Parentfont steht ja jetzt auf false. Wenn ich jetzt den Font des Formulars ändere bleibt das Label wie es ist. Das nur, weil ich die Größe geändert habe. |
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Verwende DevExpress und dein Leiden hat ein Ende.
Gut. Ein anderes Leiden ("Wo ist mein Geld?") tritt an die Stelle. |
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Zitat:
P.S.: Ausserdem ging es bei mir eher darum das zu schreiben, was ich gerne in der VCL/RTL hätte. |
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Bleib mal locker. Wer gute Leistung will, muss halt zahlen. War schon immer so. Man kann sich Vieles wünschen, aber das sind eben Wünsche.
Aber klar: Macht Spaß. Wünschen, meine ich. Ach, und ja. Genau die DevExpress-Komponenten, in die man sich einarbeiten muss, weil sie doch etwas mehr Funktionen bieten. Das ist natürlich nicht für jeden das Richtige. |
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Zitat:
Zitat:
Zitat:
Zitat:
|
AW: Was vermisst ihr in der RTL/VCL? Wünsche + Vorschläge!
Was mir fehlt? Frei nach Captain Picard: "Machen sie es so." :mrgreen:
Ok, bitte nicht ganz ernst nehmen, diesen Beitrag. (Das war der Teil meiner Antwort, die euch verunsichern könnte. ;) ) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:45 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