AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Klatsch und Tratsch Träume, Wünsche und Wahnvorstellungen...

Träume, Wünsche und Wahnvorstellungen...

Ein Thema von himitsu · begonnen am 16. Mai 2011 · letzter Beitrag vom 3. Jun 2013
Antwort Antwort
Seite 24 von 26   « Erste     14222324 2526   
NickelM

Registriert seit: 22. Jul 2007
Ort: Carlsberg
445 Beiträge
 
Delphi 2009 Professional
 
#231

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 4. Jul 2012, 04:07
Hm, ich muss zugeben, ich weis jetzt nicht ob es das schon gibt, zumindest bei nicht D2009. Und bei XE2 glaube ich auch nicht. Folgendes :
- #define "Codeabkürzungen". Wie es in C++ gibt. Beispiel wie sowas aussehen würde.

Delphi-Quellcode:
#define Dll_inport = {stdcall external "mydll.dll";} 

procedure SendHalloText; DllImport;
// "DllImport;" wird durch " stdcall external "mydll.dll"; " ersetzt. Dan würde der Code auch manchmal besser ausehen. Aufruf könnte man ja ändern war nur ein Bespiel. :-D
- "Schlauer-Compiler" : Wenn man eine Unit einbindet, und verwendet von ihr nur eine Klasse oder Prozedur erkennt das der Compiler und "packt" nur diese Prozedur in die Exe. Und nicht alle Funktionen, Klassen etc. die man sowieso nicht verwendet. Da würde das Kompilieren länger dauern aber man hätte ne kleinere Exe. Besonders bei VCL wäre das hilfreich. Dan wären VCL-Anwendungen nicht so groß

- Umschalten von Unicode/Ansi, sodass man auch für Win98 noch schreiben kann und sich general den Mist mit Unicode/Ansi sparen kann (Natürlich nur bei 32bit . Obwohl es denk ich kaum jemand noch gibt, der Win98 auf einen "physischen" Rechner hat.

Gru0 NickelM
Nickel
"Lebe und denke nicht an morgen"
Zitat aus dem gleichnamigen Bollywoodfilm.

Geändert von NickelM ( 4. Jul 2012 um 04:12 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.288 Beiträge
 
Delphi 11 Alexandria
 
#232

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 4. Jul 2012, 06:50
Oder wer will es wirklich so schreiben?
Ich, denn wie könnte man die Interfacedeklaration sonst in eine andere Unit schieben?
Und zumindest mir ist genau das sehr wichtig.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.007 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#233

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 4. Jul 2012, 09:13
- "Schlauer-Compiler" : Wenn man eine Unit einbindet, und verwendet von ihr nur eine Klasse oder Prozedur erkennt das der Compiler und "packt" nur diese Prozedur in die Exe. Und nicht alle Funktionen, Klassen etc. die man sowieso nicht verwendet. Da würde das Kompilieren länger dauern aber man hätte ne kleinere Exe. Besonders bei VCL wäre das hilfreich. Dan wären VCL-Anwendungen nicht so groß
Gibt's schon, nennt sich Linker und funktioniert schon seit über einer Dekade.

Teste es selbst: Schreib dir eine Funktion oder eine Klasse und benutze sie nicht in deinem Programm. Kompiliere das Programm (mit Debug Config). Schaue auf die blauen Pünktchen am linken Rand. Keine Pünktchen in den unbenutzten Teilen, weil der Linker das nicht reingepackt hat. Natürlich kann der nur rauswerfen, was wirklich nie benutzt wird, bzw was er feststellen kann. Daher werden z.B. keine öffentlichen Methoden rausgeworfen, weil die über RTTI angesprochen werden können.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 Beiträge
 
Delphi 12 Athens
 
#234

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 4. Jul 2012, 11:53
Das Problem ist/war, wenn man diese Klasse über den Initialization-Abschnitt initialisiert, dann wird sie immer "verwendet" (in Initialization), selbst wenn sie sonst nirgendwo verwendet wird.

Darum ist die VCL auch so groß, bzw. einige gehn auf NonVCL und verwenden bestimmte Units garnicht, damit die EXE klein wird.

Aber: Es gibt seit einer Weile den class constructor , bzw. class destructor ... wenn alle dort das machen würde, was sie sonst in "Initialization" machen würden, dann würde vieles wirklich nicht mehr eingebunden, wenn es nicht gebraucht wird.

Was da leider noch fehlt, ist, daß man bei Ressourcen nicht differenzieren kann und es wird immer alles in die EXE gelinkt, was irgendwo im Quellcode gefunden wird, selbst wenn z.B. die Klasse garnicht verwendet/eingelinkt wurde, für welche diese Resource (RES) gedacht war.


@jaenicke: Das Alte/Normale muß natürlich erhalten bleiben, aber wenn ich nur programmintern mehrere Interfaces brauche, dann muß ich auch immer alle Header/Implementationen doppelt schreiben.
In soeinem Fall wäre es eben schön, wenn man sich aus allen public/published-Eigenschaften ein Interface generieren lassen könnte
Delphi-Quellcode:
type
  TMyClass = class interfaced(TInterfaceObject) // dafür markieren, daß automatisch ein Interface generiert werden kann, bzw. es wird sofort generiert und später nur zugewiesen, beim OF
    ...
  end;
  IMyInterface = interface of TMyClass;


  IMyInterface2 = interface of TMyClass2;; // per Forward?
  TMyClass2 = class(TInterfaceObject)
    ...
  end;


  IMyInterface3 = interface of TMyClass3;; // per Forward und manuell
  TMyClass3 = class(TInterfaceObject, IMyInterface3)
    ...
  end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 4. Jul 2012 um 12:01 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#235

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 25. Sep 2012, 00:26
[FireMonkey]
Die FM-Controls haben eine Eigenschaft "HitTest", mit der man die Controls einfach "mausdurchlässig" machen kann.

Auch gibt es die Eigenschaft "EnableDragHighlight", mit der man den automatischen Rahmen bei DragOver abschalten kann (im Bild das innere Panel).
Optisch ist das nicht schlecht, DragOver und DragDrop wird dennoch behandelt.

Bei verschachtelten Controls (z.B. Styles) wäre es schön, wenn man "HitTestDrop" deaktivieren könnte (z.B. für die SubControls).
Dann würde auf DragOver immer das "MainControl" reagieren, aber auf Mouseover und Klicks könnten ggf. auch die Subcontrols reagieren.

Ich würde das für eine sehr nützliche Funktion halten, die eine sehr viel genauere GUI-Gestaltung ermöglichen würde...
[/FireMonkey]
Miniaturansicht angehängter Grafiken
fmdrop.jpg  
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von geskill
geskill

Registriert seit: 17. Feb 2007
Ort: NRW
420 Beiträge
 
Delphi 2010 Professional
 
#236

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 4. Okt 2012, 00:56
Gerade bisschen verträumt am Programmieren da passiert doch glatt sowas:

FIcon := TIcon.Create.Handle := GetIconHandle;

Erst als der Compiler meckerte habe ich den Fehler gemerkt. jaja
Miniaturansicht angehängter Grafiken
d%3Dd%3Dd.png  
Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#237

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 12. Mai 2013, 11:53
Es wäre schön, wenn die IDE Methoden im Implementationsabschnitt immer in der gleichen Reihenfolge halten würde, wie sie in den Klassendefinitionen im Interfaceabschnitt definiert werden.
Wenn man dort die Reihenfolge ändert sollte dies auch im Quelltext angepasst werden (optional auf Shortcut).
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#238

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 28. Mai 2013, 11:34
Ich wünsche mir die If-Funktion:
Delphi-Quellcode:
// fiktive Berechnung als Beispiel
Zinssatz := (if premiumkunde then Basiszins*0.9 else Basiszins+0.75) - rabattzins;
Und natürlich gleich noch die Case-Funktion dazu:
Delphi-Quellcode:
ShowMessage('Sie haben '+
  (case idx of 1:'Nichts' 2:'Grass' 3:'Wasser' 4:'Felsenelse 'unbekannt') + 'angeklickt');
Man beachte dass man immer den Else-Teil schreiben muss; andernfalls wäre es ein Fehler.
fork me on Github
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.093 Beiträge
 
Delphi 10 Seattle Enterprise
 
#239

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 28. Mai 2013, 12:00
Das erste ist doch genau der ternäre Operator aus C!

Code:
zinssatz = (premiumkunde ? Basiszins*0.9 : Basiszins+0.75) - rabattzins:
Ich habe ihn in den ersten Tagen Delphi auch vermisst, mittlerweile bin ich wirklich froh, den nicht mehr sehen zu müssen. Lieber ein, zwei Zeilen mehr. Dafür erkennt man später in der Hälfte der Zeit, was im Code vor sich geht.
  Mit Zitat antworten Zitat
knochen

Registriert seit: 26. Aug 2009
81 Beiträge
 
Delphi 2006 Professional
 
#240

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 28. Mai 2013, 12:00
Ich wünsche mir die If-Funktion:
Delphi-Quellcode:
// fiktive Berechnung als Beispiel
Zinssatz := (if premiumkunde then Basiszins*0.9 else Basiszins+0.75) - rabattzins;
Gibt's schon. Such mal nach der IfThen-Funktion. Die existiert in überladener Form gleich in mehreren Units.

Und natürlich gleich noch die Case-Funktion dazu:
Delphi-Quellcode:
ShowMessage('Sie haben '+
  (case idx of 1:'Nichts' 2:'Grass' 3:'Wasser' 4:'Felsenelse 'unbekannt') + 'angeklickt');
Man beachte dass man immer den Else-Teil schreiben muss; andernfalls wäre es ein Fehler.
Auch das kann man leicht selbst schreiben.
Delphi-Quellcode:
function MyCase(idx: Integer; Values: Array of Integer): Integer;
function MyCase(idx: Integer; Values: Array of String): String; overload;
...etc.
Ggf. kann man noch einen Else-Wert übergeben, wenn gewünscht auch als optionalen Parameter.
A fool with a tool remains a fool.
  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 01:34 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