AGB  ·  Datenschutz  ·  Impressum  







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

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

Ein Thema von himitsu · begonnen am 16. Mai 2011 · letzter Beitrag vom 3. Jun 2013
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von himitsu
himitsu
Online

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

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

  Alt 18. Jul 2011, 10:49
Beim XE Starter beschweren sich doch Welche, daß es einige Debugmöglichkeiten nicht gibt, wie z.B. dieses Lokale Variablen oder das Anzeigen des Wertes, wenn man mit der Maus über dem Variablennamen steht.

Find ich jetzut nicht wirklich schlimm, denn dieser Schrott funktioniert nicht immer.
Vorallem bei der Arbeit mit Packages dreht es gerne mal durch.

OK, Oftmals heißt es nur "kann nicht aufgelöst werden", aber wenn der Schrott stattdessen falsche werte anzeigt, dann steckt man richtig in der Scheiße.
Ich versuche seit einer Weile rauszufinden, warum eine Variable auf NIL steht (laut Debugger) und was stellt sich raus? Nix mit NIL, das Objekt ist drin, jedenfalls menn man sich dort mal ein IF Assigned reinbaut.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

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

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

  Alt 18. Jul 2011, 11:01
Ich versuche seit einer Weile rauszufinden, warum eine Variable auf NIL steht (laut Debugger) und was stellt sich raus? Nix mit NIL, das Objekt ist drin, jedenfalls menn man sich dort mal ein IF Assigned reinbaut.
Assigned heißt noch lange nicht, dass dort ein Object drin steht sondern nur, dass es einen anderen Wert als nil hat.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.882 Beiträge
 
Delphi 11 Alexandria
 
#3

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

  Alt 18. Jul 2011, 11:03
Deshalb ist es immer besser FreeAndNil(Objekt); statt Objekt.Free; aufzurufen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

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

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

  Alt 18. Jul 2011, 11:24
Deshalb ist es immer besser FreeAndNil(Objekt); statt Objekt.Free; aufzurufen
Sehe ich nicht so, FreeAndNil sollte man nur dann nutzen, wenn man auch an irgendeiner anderen Stelle auf Assigned prüft. Genau solche Aussagen führen dazu, dass plötzlich überall FreeAndNil gemacht wird, anstatt Free aufzurufen.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.485 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

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

  Alt 18. Jul 2011, 11:49
Sehe ich nicht so, FreeAndNil sollte man nur dann nutzen, wenn man auch an irgendeiner anderen Stelle auf Assigned prüft. Genau solche Aussagen führen dazu, dass plötzlich überall FreeAndNil gemacht wird, anstatt Free aufzurufen.
Und FreeAndNil bringt nichts wenn eine andere Variable auch auf das Objekt verweist. Dann ist zwar A nil aber B nicht.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.078 Beiträge
 
Delphi 12 Athens
 
#6

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

  Alt 18. Jul 2011, 12:55
Sehe ich nicht so, FreeAndNil sollte man nur dann nutzen, wenn man auch an irgendeiner anderen Stelle auf Assigned prüft.
Das ist IMHO Blödsinn, denn es erschwert das Debuggen enorm, wenn aus irgendeinem Grund hinterher noch auf ein freigegebenes Objekt zugegriffen wird. Ja, klar, darf nicht sein, aber es passiert eben doch mal.

Die paar CPU-Zyklen mehr für FreeAndNil sind in der Regel nicht schlimm. Aber wenn man danach noch auf im Destruktor eines Objekts schon freigegebene Objekte zugreift, bekommt man eine Zugriffsverletzung an Adresse Null statt irgendwo im Speicher, merkt also sofort, dass da ein Objekt nicht (mehr) initialisiert ist.

Hier muss man sich eben entscheiden was einem wichtiger ist.

Beim XE Starter beschweren sich doch Welche, daß es einige Debugmöglichkeiten nicht gibt, wie z.B. dieses Lokale Variablen oder das Anzeigen des Wertes, wenn man mit der Maus über dem Variablennamen steht.

Find ich jetzut nicht wirklich schlimm, denn dieser Schrott funktioniert nicht immer.
Bei mir funktioniert es nur so gut wie ausschließlich bei with nicht. Und wer das nutzt ist eh selbst schuld. An anderen Stellen habe ich das Problem nur äußerst selten.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von geskill
geskill

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

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

  Alt 18. Jul 2011, 14:18
Bei mir funktioniert es nur so gut wie ausschließlich bei with nicht. Und wer das nutzt ist eh selbst schuld. An anderen Stellen habe ich das Problem nur äußerst selten.
Stimmt mit dem with hat der Debugger Probleme!
Verstehe aber nicht, warum du die Benutzung so kritisch siehst, ich glaube das ist reine Geschmackssache. Ohne with weiß man zwar ohne groß zu überlegen ganz genau, zu welchem Object etwas gehört, jedoch wird dadurch auch der Code unübersichtlicher und es wirkt aufgebläht. Mit dem with ist Code wesentlich aufgeräumter und man beschränkt sich stärker auf die wesentlichen Teile.
Mir ist schon klar, dass es Probleme geben kann, wenn man die with Anweisungen verschachtelt, da nun einige Methoden überdeckt werden, aber mit geschärftem Blick sieht man dies in der Regel.
Sebastian
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#8

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

  Alt 18. Jul 2011, 14:20
Ich bitte darum, die "With-Diskussion" (so sie denn sein muss), in einem separaten Thema zu führen. Hier passt's streng genommen nicht her.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

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

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

  Alt 24. Sep 2012, 23: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]
Angehängte Grafiken
Dateityp: jpg fmdrop.jpg (36,0 KB, 60x aufgerufen)
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

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

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

  Alt 18. Jul 2011, 14:38
Sehe ich nicht so, FreeAndNil sollte man nur dann nutzen, wenn man auch an irgendeiner anderen Stelle auf Assigned prüft.
Das ist IMHO Blödsinn, denn es erschwert das Debuggen enorm, wenn aus irgendeinem Grund hinterher noch auf ein freigegebenes Objekt zugegriffen wird. Ja, klar, darf nicht sein, aber es passiert eben doch mal.
Ok, falsche Formulierung meinerseits. Ich korrigiere sie wie folgt: FreeAndNil sollte man nur dann nutzen, wenn man auch an irgendeiner anderen Stelle auf Assigned prüft darauf angewiesen ist, dass die Referenz nil ist.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 22:38 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