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 57 von 192   « Erste     747555657 585967107157     Letzte »    
Benutzerbild von himitsu
himitsu

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

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

  Alt 30. Okt 2011, 02:14
Also, was nun echt mal nicht geht:

Delphi hat ein Jahr 2000-Umstellungsproblem


OK, eigentlich ist es nur ein Sommer-/Winterzeitumstellungsproblem.
Schön daß da die einzige Lösung darin besteht Delphi neu zu Starten, denn alles zu speichern/überschreiben half auch nix.

Denn als es grade den Eingabefokus zurückbekam, machte es das, was bei einer externen Änderung passiert ... es meckert "Da wurde was verändert. Soll ich es neu laden"?
Das ist ja eigentlich nicht schlimm, aber daß macht es grade bei allen geöffneten Dateien (sind schon ein paar) und natürlich auch bei denen, welche eigentlich nicht verändert wurden.
Und ganz besonders besch*** ist, daß es das nun jedes Mal macht wenn es den Fokus zurückbekommt, da es sich das [Nein] nicht merkt, bei der noch nicht gespeicherten Projektgruppendatei (groupproj).



Und weil Delphi so intelligent ist, merkt es nicht, daß schon soein (hier sogar das Gleiche) modales Fenster auf ist ... eine Alt-Tab-Orgie und man muß erstmal tausende "soll ich laden"-Fenster zumachen.
$2B or not $2B

Geändert von himitsu (30. Okt 2011 um 02:18 Uhr)
 
Benutzerbild von jaenicke
jaenicke

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

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

  Alt 30. Okt 2011, 08:16
Zumindestens hatte man in XE schon eine abfrage "Wollen sie wirklich formatieren?" eingebaut, was mein aktuelles 2010 noch nicht kennt.
Bist du sicher? Hast du bei dir nicht zufällig aus Versehen die Checkbox aktiviert "nicht mehr nachfragen"? Das kannst du in den Optionen sehen, wenn es das da schon gab sollte das dort so oder ähnlich aussehen:

formattingconfirmation.png

Was auf jeden Fall nervt, ist die Tlanungsphase zu einem Programm/Code ... da geht soooo viel sinnlose Zeit drauf, bevor man mit dem Proggen endlich anfangen kann
Noch nerviger ist es aber ohne Plan heranzugehen und nach ein paar Wochen zu merken, dass das Konzept so doch nicht so gut funktioniert.
Sebastian Jänicke
AppCentral

Geändert von jaenicke (30. Okt 2011 um 08:19 Uhr)
 
Benutzerbild von himitsu
himitsu

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

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

  Alt 30. Okt 2011, 09:44
Jupp, das war eines der zwei Megafeatures, weswegen man unbedingt auf XE upgraden mußte. (abgesehn von SVN und Co.)
unbenannt2.png

Es war scheinbar noch genug anderen passiert, daß sie bei Strg+D das D manchmal verfehlten.
Das Ding ist ja nur so von oftgenutzten Tasten umgeben > Strg+E Strg+R Strg+F Strg+G Strg+V Strg+C Strg+X Strg+S ...
$2B or not $2B

Geändert von himitsu (30. Okt 2011 um 09:51 Uhr)
 
Benutzerbild von himitsu
himitsu

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

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

  Alt 31. Okt 2011, 22:08
..., daß ich jetzt noch ganz schnell die letzen "sicheren" Delphi-Tage-Pfefferminz-Dinger loswerden muß.

Ich wußte ja nicht daß die ein Verfallsdtum haben, aber ich sah jetzt grade noch, daß diese morgen früh verfallen werden


PS: Warum haben wir keinen Witzethread?

Zwei Männer gehen von einer Halloweenparty nach Hause und beschließen, die Abkürzung über den Friedhof zu nehmen, schließlich passt das gerade richtig in die Stimmung. Mitten zwischen den Gräbern hören sie plötzlich ein Geräusch aus dem Dunklen kommen: Tock-tock-tock, tock-tock-tock... Zitternd vor Furcht schleichen sie weiter und finden schliesslich einen alten Mann, der mit Hammer und Meißel einen Grabstein bearbeitet. Nachdem der erste sich wieder leicht erholt hat, fragt er den Mann: "Alter Mann, Sie haben uns fast zu Tode erschreckt... wir dachten schon, Sie wären ein Geist! Was arbeiten Sie denn hier mitten in der Nacht?"
"Diese Idioten!" murmelt der alte Mann, "die haben meinen Namen falsch geschrieben..."
.

Mit der ganzen Totenstimmung hier, die letzte Zeit über, vergeht einem ja fast der Appetit beim Leichenschmaus.
$2B or not $2B

Geändert von himitsu (31. Okt 2011 um 22:11 Uhr)
 
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#565

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

  Alt 2. Nov 2011, 09:15
Feature-Creap ohne dazu passende Anpassung von Budget und Termin
 
Benutzerbild von himitsu
himitsu

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

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

  Alt 2. Nov 2011, 15:45
Extrem nerven tut es, daß _AddRef und _Release nie als virtual deklariert sind. (QueryInterface ist es allerdings fast immer)

Wie soll man denn da nachträglich eine Referenzzählung implementieren, wo es vorher keine gab (diese Funktionen machen nichts), bzw. wie soll man da das Verhalten ändern können.


TComponent-Nachfahren wollte ich mit einer Referenzzählung ordentlichen versehnen, welche VCL-Object-Verwaltung und Interface-Referenzzählung kombiniert.
Die einzige Lösung ist da umständlich(er) ein weiteres Interface (IVCLComObject) dahinter zu schalten.


Ach ja und es kotzt uch an, wenn man an fertige (fast passende) Implementationen nicht rann kommt, da der gewünschte Typ irgenwo in einem Implementation-Teil versteckt deklariert ist.
$2B or not $2B
 
Benutzerbild von Stevie
Stevie

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

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

  Alt 2. Nov 2011, 18:41
Extrem nerven tut es, daß _AddRef und _Release nie als virtual deklariert sind. (QueryInterface ist es allerdings fast immer)

Wie soll man denn da nachträglich eine Referenzzählung implementieren, wo es vorher keine gab (diese Funktionen machen nichts), bzw. wie soll man da das Verhalten ändern können.
Überschreib die Methoden und setz in die Klassendefinition nochmals IInterface. Dann werden die 3 Methoden aus dieser Klasse benutzt.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

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

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#568

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

  Alt 2. Nov 2011, 18:43
Digital River. Nie wieder!
 
Benutzerbild von himitsu
himitsu

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

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

  Alt 2. Nov 2011, 20:57
Hi Stevie,

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.

Und IInterfaceComponentReference zu überschreiben hatte keinerlei Wirkung, sonst hätt' ich da einfach NIL zurückgegeben.

Delphi-Quellcode:
type
  TMyClass1 = class(TObject, IInterface)
    function QueryInterface(const IID: TGUID; out Obj): HResult; virtual; stdcall;
    function _AddRef: Integer; stdcall;
    function _Release: Integer; stdcall;
  end;

  TMyClass2 = class(TMyClass1, IInterface)
    function QueryInterface(const IID: TGUID; out Obj): HResult; override; stdcall;
    function _AddRef: Integer; stdcall;
    function _Release: Integer; stdcall;
  end;

procedure TForm1.FormCreate(Sender: TObject);
var
  i1, i2, i3, i4, i5, i6: IInterface;
  o5: TMyClass1;
  o6: TMyClass2;
begin
  Memo1.Lines.Add('');
  Memo1.Lines.Add('o6 := TMyClass2.Create / i6 := TMyClass2(o6) as IInterface');
  o6 := TMyClass2.Create;
  i6 := o6 as IInterface;
  i6._AddRef;

  Memo1.Lines.Add('');
  Memo1.Lines.Add('o5 := TMyClass2.Create; / i5 := TMyClass1(o5) as IInterface;');
  o5 := TMyClass2.Create;
  i5 := o5 as IInterface;
  i5._AddRef;

  Memo1.Lines.Add('');
  Memo1.Lines.Add('i1 := TMyClass1.Create;');
  i1 := TMyClass1.Create;
  i1._AddRef;

  Memo1.Lines.Add('');
  Memo1.Lines.Add('i2 := TMyClass2.Create;');
  i2 := TMyClass2.Create;
  i2._AddRef;

  Memo1.Lines.Add('');
  Memo1.Lines.Add('i3 := TMyClass2(i2) as TMyClass2;');
  i3 := i2 as TMyClass2;
  i3._AddRef;

  Memo1.Lines.Add('');
  Memo1.Lines.Add('i4 := TMyClass2(i2) as TMyClass1;');
  i4 := i2 as TMyClass1;
  i4._AddRef;

  Memo1.Lines.Add('');
end;

{ TMyClass1 }

function TMyClass1.QueryInterface(const IID: TGUID; out Obj): HResult;
begin
  Form1.Memo1.Lines.Add('TMyClass1.QueryInterface');
  if GetInterface(IID, Obj) then
    Result := 0
  else
    Result := E_NOINTERFACE;
end;

function TMyClass1._AddRef: Integer;
begin
  Form1.Memo1.Lines.Add('TMyClass1._AddRef');
end;

function TMyClass1._Release: Integer;
begin
  Form1.Memo1.Lines.Add('TMyClass1._Release');
end;

{ TMyClass2 }

function TMyClass2.QueryInterface(const IID: TGUID; out Obj): HResult;
begin
  Form1.Memo1.Lines.Add('TMyClass2.QueryInterface');
  if GetInterface(IID, Obj) then
    Result := 0
  else
    Result := E_NOINTERFACE;
end;

function TMyClass2._AddRef: Integer;
begin
  Form1.Memo1.Lines.Add('TMyClass2._AddRef');
end;

function TMyClass2._Release: Integer;
begin
  Form1.Memo1.Lines.Add('TMyClass2._Release');
end;

end.




o6 := TMyClass2.Create / i6 := TMyClass2(o6) as IInterface
TMyClass2.QueryInterface
TMyClass2._AddRef
TMyClass2._AddRef

o5 := TMyClass2.Create; / i5 := TMyClass1(o5) as IInterface;
TMyClass1.QueryInterface // ist QueryInterface nicht virtual kommt hier TMyClass1.QueryInterface rause
TMyClass2._AddRef
TMyClass2._AddRef

i1 := TMyClass1.Create;
TMyClass1._AddRef
TMyClass1._AddRef

i2 := TMyClass2.Create;
TMyClass2._AddRef
TMyClass2._AddRef

i3 := TMyClass2(i2) as TMyClass2;
TMyClass2.QueryInterface
TMyClass2._AddRef
TMyClass2._AddRef

i4 := TMyClass2(i2) as TMyClass1;
TMyClass2.QueryInterface
TMyClass1._AddRef
TMyClass1._AddRef

TMyClass2._Release
TMyClass2._Release
TMyClass1._Release
TMyClass2._Release
TMyClass2._Release
TMyClass1._Release
$2B or not $2B
 
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#570

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

  Alt 2. Nov 2011, 21:26
@himi...

wenn wir hier einen Counter hätten, würdest du den genervten Record halten... Paß auf deine Gesundheit auf, damit nicht in ein paar Jahren ein Bypaß dich verschönert Man muß sich nicht über alles aufregen. Manchmal einfach nur akzeptieren...
 
Thema geschlossen
Seite 57 von 192   « Erste     747555657 585967107157     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 17:29 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