AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Klatsch und Tratsch Was nervt euch so, während der Programmierung oder so allgemein
Thema durchsuchen
Ansicht
Themen-Optionen

Was nervt euch so, während der Programmierung oder so allgemein

Ein Thema von himitsu · begonnen am 26. Jun 2010 · letzter Beitrag vom 3. Mai 2013
Thema geschlossen
Seite 58 von 192   « Erste     848565758 596068108158     Letzte »    
Benutzerbild von Stevie
Stevie

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

AW: Was nervt euch so, wärend der Programmierung oder so allgemein

  Alt 2. Nov 2011, 22:52
seit man aber Interfaces wieder in Objekte zurückcasten kann (IInterfaceComponentReference sei Dank ... die haben mir meine Idee geklaut ),
ist dieses nicht mehr sicher, denn wenn man dann auf das ältere Klasse castet und dann wieder in ein Interface, dann wird das Interface des Vorfahren und nicht das Neue verwendet.
So ne Schei... macht man ja auch nicht! Oder man schaltet sein Hirn an bevor man wirres Zeugs codet.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
 
Benutzerbild von himitsu
himitsu

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

AW: Was nervt euch so, wärend der Programmierung oder so allgemein

  Alt 2. Nov 2011, 22:56
Die Klasse ist für etwas, was hier mal veröffentlicht wird ... Und was hier für Irre rumlaufen, kann ich mir jetzt noch garnicht ausdenken.
Allerdings könnte man sich über diese Lib die Delphi-IDE lahmlegen und das wollte ich minimieren.
$2B or not $2B
 
Benutzerbild von Stevie
Stevie

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

AW: Was nervt euch so, wärend der Programmierung oder so allgemein

  Alt 2. Nov 2011, 23:01
Dass man non ref counted interfaces haben will, ist ja noch plausibel, aber dass man TComponent Derivate mit Refcounting ausstatten will, kann ich nicht ganz verstehen, denn genau damit kannst du ganz böse Überraschungen erleben. Das TComponent livetime management wird nunmal über den Owner geregelt und nicht über das Interface. Beides zu mischen wird über kurz oder lang in die Hose gehen.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
 
Benutzerbild von himitsu
himitsu

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

AW: Was nervt euch so, wärend der Programmierung oder so allgemein

  Alt 2. Nov 2011, 23:10
Deswegen hab ich mir ja ein entsprechendes Verhalten ausgedacht, welches den Referenzzähler und die Objektreferenz beachtet ... erst wenn Beides freigeben ist, wird alles aufgeräumt.

Denn es ist vorgesehn diese Klassen gleichzeitig in der VCL und als Interface zu nutzen und ich wollte mir eben doppelte Arbeit ersparen, das als Interface zu machen und dann nochmal 'ne Containerklasse für die VCL bereitzustellen.
$2B or not $2B
 
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#575

AW: Was nervt euch so, wärend der Programmierung oder so allgemein

  Alt 2. Nov 2011, 23:16
Deswegen hab ich mir ja ein entsprechendes Verhalten ausgedacht, welches den Referenzzähler und die Objektreferenz beachtet ... erst wenn Beides freigeben ist, wird alles aufgeräumt.
Das klingt ziemlich kompliziert und fehleranfällig, aber wenn es funktioniert, ist es cool.
 
Benutzerbild von himitsu
himitsu

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

AW: Was nervt euch so, wärend der Programmierung oder so allgemein

  Alt 3. Nov 2011, 00:02
Eigentlich nicht ... jedenfalls nicht, wenn ich _AddRef hätte überreiben können

Aber ich hab jetzt die Basisklase (abgeleitet von TComponent) und eine Helperklasse, welche ich als VCLInterface in TComponent einbeschmuggelt hab.

Nja, statt 3 Zeilen Code jetzt 10 sinnlose Funktionen, welche einfach nur wieder zurück zur Basisklasse umleiten.
*ich haß das*


So, als Rache und weil heute nich mehr viel passiert, entschlüssle ich jetzt das geheime Interface hinter den anonymen Methoden und veröffentliche es dann ... das hat emba jetzt davon.
An dem Objekt hinter dem Interface bin ich schon und nun nur noch die schöne neue überladene RTTI ausnutzen.
$2B or not $2B
 
Benutzerbild von himitsu
himitsu

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

AW: Was nervt euch so, wärend der Programmierung oder so allgemein

  Alt 3. Nov 2011, 22:14
Mir ist grade die krankeste Idee gekommen, für einen Code:
Delphi-Quellcode:
for i in(function:TArray<Integer>var i:Integer;begin SetLength(Result,5);for i:=0to 4do Result[i]:=i*10;end)()do
  ShowMessage(Variant(i));
Eigentlich sollte es doch nervig sein, wenn wunderschöner Delphi-Code urplötzlich wie eine C-Krankheit aussieht, oder etwa nicht?

PS: Das ist die Kurzfassung einer for i := 0 to 40 step 10 do -Schleife ... falls man es, aus welchen Gründen auch immer, tatsächlich nicht erkennen sollt.



Delphi-Quellcode:
var
  i2: integer;


for i2 in (function: TArray<Integer>
           var
             i: Integer;
           begin
             SetLength(Result, 5);
             for i := 0 to 4 do
               Result[i] := i * 10;
           end)() do
  ShowMessage(IntToStr(i2));
Ich geb's zu, am Ende hab ich es dann doch noch so gelöst.
Delphi-Quellcode:
var
  i, i2: integer;

for i := 0 to 4 do begin
  i2 := i * 10;
  ShowMessage(IntToStr(i2));
end;
Oder wenigstens so
Delphi-Quellcode:
for i in TArray<Integer>.Create(0, 10, 20, 30, 40) do
  ShowMessage(IntToStr(i));
Ich hoffe jetzt wendet niemand genervt dem Delphi den Rücken zu und wanders zu QBasic ab.


Aber wirklich nervig ist eigentlich, daß TArray<Integer> und array of Integer nicht kompatibel sind, obwohl TArray<T> auch nur ein array of T ist

Delphi-Quellcode:
var
  G: TArray<Integer>;
  D: array of Integer;

D := G; // [DCC Fehler] U.pas(56): E2010 Inkompatible Typen: 'TArray<System.Integer>' und 'Dynamic array'
Aber OK, man soll sich ja nicht so aufregen ... an der sonst so kranken Vererbungsreihe der Generics liegt es dieses Mal nicht direkt.
Delphi-Quellcode:
var
  X: array of Integer;
  D: array of Integer;

X := D; // [DCC Fehler] U.pas(56): E2008 Inkompatible Typen
Denn der Witz ist, daß das sonst so typsichere/strenge Delphi durch die Generics "scheinbar" total verweichlicht wird.
Delphi-Quellcode:
var
  X: TArray<Integer>;
  D: TArray<Integer>;

X := D; // denn das geht zumindestens ^_^
$2B or not $2B

Geändert von himitsu ( 3. Nov 2011 um 22:44 Uhr)
 
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#578

AW: Was nervt euch so, wärend der Programmierung oder so allgemein

  Alt 3. Nov 2011, 22:44
Mich nervt gerade tierisch, dass mein (Linux-) Rechner eben komplett abgestürzt ist. Das starten irgendwelcher Programme wurde mit I/O-Error quittiert, bereits geöffnete Programme froren ein, sobald sie auf die Festplatte zugreifen wollten. Nach dem nötigen Hard-Reset kamen Fehler beim Booten - und das obwohl der Linux Kernel über eine spezielle Tastenkombination erst alle Schreiboperationen vollendet und anschließend die Geräte ausgehängt hat. Also fast ein normaler Shutdown.

Eine Analyse des Dateisystem-Headers zeigt: alle 592 Bytes, welche die Schlüssel zur verschlüsselten Partition enthielten bestehen jetzt ausschließlich aus Nullen. Statt arbeiten ist jetzt also erstmal eine Neuinstallation und -Konfiguration des Systems angesagt. Datenverlust gab es zum Glück keinen, aber mit meiner tollen Internetanbindung mindestens 1 Tag Arbeit. Juhu.

Liebe Grüße,
Valentin
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
 
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#579

AW: Was nervt euch so, wärend der Programmierung oder so allgemein

  Alt 3. Nov 2011, 22:50
Ich dachte man installiert nur Windows neu, wenn es abgestürzt ist.
Michael
Ein Teil meines Codes würde euch verunsichern.
 
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#580

AW: Was nervt euch so, wärend der Programmierung oder so allgemein

  Alt 3. Nov 2011, 22:50
Mit Linux wär das nicht passiert
 
Thema geschlossen
Seite 58 von 192   « Erste     848565758 596068108158     Letzte »    


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:

(?)

LinkBack to this Thread

Erstellt von For Type Datum
Untitled document This thread Refback 7. Nov 2011 10:54

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:03 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