AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 23:32

Parameter dieser Suchanfrage:

Suche in Thema: Umgang mit Interfaces
Suche alle Beiträge, die von "TiGü" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 11 von insges. 11 Treffern
Suche benötigte 0.001s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Umgang mit Interfaces

      Delphi
      by TiGü, 16. Dez 2013
    So weit, so richtig, aber warum das Rad zweimal erfinden?
    Sind denn diese anderen Listen von einen anderen (eigenen) Listentyp ohne Hash?

    Und der entscheidene Unterschied ist: Ich habe keine Speicherlecks beim Beenden (laut FastMM).
    Um wieviel langsamer ist denn die Suche von TDictionary im Verhältnis zu deiner Lösung?


    Da habe ich mich vertan! Sorry, ist korrigiert!
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Umgang mit Interfaces

      Delphi
      by TiGü, 16. Dez 2013
    Mir ist nicht ganz klar, worauf das Testprogramm abzielt, aber im Anhang findest du eine Version ohne Speicherleck.
    Man kann sich die TObjectList<T> und die Item-Klasse komplett sparen, aber ich merke du hast mein Beispiel mit dem Dictionary weiter oben auch nicht wirklich näher ausprobiert und/oder verstanden.

    Ansonsten merkt man am Quelltext, dass du häufig viel zu kompliziert denkst und...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Umgang mit Interfaces

      Delphi
      by TiGü, 13. Dez 2013
    :-D


    Eben das wollte ich zeigen!
    Solange der Pointer nicht ungültig wird, wird ja auch beliebig in die Methoden gesprungen.
    Wenn hier fröhlich Interface- und Objektreferenzen gemischt werden (sollt ihr dafür alle in der Hölle schmoren) dann geht auch folgends:
    function TMyDoSomething.DoSomeThing : Integer;
    begin
    Result := 123;
    end;
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Umgang mit Interfaces

      Delphi
      by TiGü, 13. Dez 2013
    Ehrlich gesagt kann ich dir jetzt nicht mehr so ganz folgen was denn die "Grundproblematik" sein soll.
    Kannst du hierauf nochmal eingehen?
    Das es COM-Interfaces sind - also einen gewissen sprachübergreifenden Standard folgen - ist jetzt aber nicht das "Problem", oder?



    Dann lass es doch weiterhin lustig aufrufen.
    Solange du in den selbstimplementierten _AddRef und _Release Methoden kein...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Umgang mit Interfaces

      Delphi
      by TiGü, 12. Dez 2013
    Wie oben erwähnt, ja!

    Mit einem normalen Objekt hättest du ein Speicherleck!
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Umgang mit Interfaces

      Delphi
      by TiGü, 12. Dez 2013
    Wer meint es besser zu wissen bzw. sein Anwendungsfall es unbedingt erfordert, muss ja nicht von TInterfacedObject ableiten, sondern kann selber die IInterface-Methoden implementieren bzw. wie schon von Günther angesprochen mit System.Generics.Defaults.TSingletonImplementation arbeiten.

    Die "automatische" Referenzverwaltung von Inferface-Objekten ist in meinen Augen sehr bequem und ermöglicht...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Umgang mit Interfaces

      Delphi
      by TiGü, 12. Dez 2013
    Lesen und verstehen der Doku sind zwei Paar Schuhe!
    Was unter der Überschrift "Warnung" als kryptischer 53 Wörter Satz steht, heißt nicht weiter als:
    "Pass ja auf wenn du Interface- mit Objektreferenzen mischt, dass kann nämlich ganz schön in die Hose gehen wenn du mit Supports arbeitest."
    Auch hier gilt: Nicht die Supports-Funktion ist schlecht oder fehlerhaft, sondern der Programmierer hat...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Umgang mit Interfaces

      Delphi
      by TiGü, 10. Dez 2013
    Das ist so nicht richtig, siehe Doku:
    function Supports(const Instance: IInterface; const IID: TGUID; out Intf): Boolean;
    function Supports(const Instance: TObject; const IID: TGUID; out Intf): Boolean;
    function Supports(const Instance: IInterface; const IID: TGUID): Boolean;
    function Supports(const Instance: TObject; const IID: TGUID): Boolean;
    function Supports(const AClass: TClass; const...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Umgang mit Interfaces

      Delphi
      by TiGü, 6. Dez 2013
    Mal ein Beispiel, als Keys des Dictonarys (auch Map genannt) kann man vielleicht auch die GUID der Interfaces nehmen:

    unit Unit2;

    interface

    uses
    Winapi.Windows,
    Winapi.Messages,
    System.SysUtils,
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Umgang mit Interfaces

      Delphi
      by TiGü, 6. Dez 2013
    Versuche mal den Code Input Helper vom CnPack. Der kann auch "mittendrin".
    Hier schreibe ich bspw. in den uses nur "generic" und er bietet mir gleich die beiden passenden Units an.
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Umgang mit Interfaces

      Delphi
      by TiGü, 6. Dez 2013
    Ja, gibt es schon in 2009!

    Die Lösung von jaenicke mit einer generischen TList<T> ist das auf jeden Fall besser als eine TObjectList.
    Für deine Zwecke wäre sogar ein generisches TDictionary besser, da du ja irgendwie auf die Objekte per Namen zugreifen willst (siehe TListData.fName).

    Das ständige Rumgecaste mit unlesbaren Code (TMyInteger(TMyDoSomething(fList.fMy]).fAValue).SetValue(2);)...


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=TiG%FC&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=177920
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:33 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