AGB  ·  Datenschutz  ·  Impressum  







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

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 21:02

Parameter dieser Suchanfrage:

Suche in Thema: Plugin-System mit Interfaces und DLLs
Suche alle Beiträge, die von "xaromz" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 10 von insges. 10 Treffern
Suche benötigte 0.020s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Sonstige Fragen zu Delphi

    Re: Plugin-System mit Interfaces und DLLs

      Delphi
      by xaromz, 24. Mär 2006
    Hallo,

    :thumb:

    Gruß
    xaromz
  • Forum: Sonstige Fragen zu Delphi

    Re: Plugin-System mit Interfaces und DLLs

      Delphi
      by xaromz, 24. Mär 2006
    Hallo,

    Die Regeln von Interfaces können niemals für Objekte gelten, da Objekte keine Interfaces sind. Aber ich weiß, was Du meinst :wink: .

    Schade, dass Du nicht verstanden hast, um was es eigentlich geht.

    :?:

    Das weiß ich durchaus. Das System ist ja auch gut so. Wie gesagt, ich weise nur auf die möglichen Seiteneffekte hin.
  • Forum: Sonstige Fragen zu Delphi

    Re: Plugin-System mit Interfaces und DLLs

      Delphi
      by xaromz, 24. Mär 2006
    Hallo,

    Tatsache. Hatte ich überlesen.

    Gruß
    xaromz
  • Forum: Sonstige Fragen zu Delphi

    Re: Plugin-System mit Interfaces und DLLs

      Delphi
      by xaromz, 24. Mär 2006
    Hallo,

    Ich hab' da keinen Denkfehler, keine Angst. Erklärung folgt.

    Du benutzt aber ein anderes Beispiel als wir hier diskutieren. Bei uns sieht das so aus:
    procedure Test1;
    begin
    FMyObject := TMyObject.Create;
    TuWas(FMyObject);
  • Forum: Sonstige Fragen zu Delphi

    Re: Plugin-System mit Interfaces und DLLs

      Delphi
      by xaromz, 23. Mär 2006
    Hallo,

    Das ist noch nicht alles. Schau Dir mal mein Demoprogramm an. Da wird das Objekt schon durch den Aufruf einer Prozedur (mit dem Objekt als Parameter) freigegeben, weil eben die Referenzzählung durcheinendergerät.

    Gruß
    xaromz
  • Forum: Sonstige Fragen zu Delphi

    Re: Plugin-System mit Interfaces und DLLs

      Delphi
      by xaromz, 23. Mär 2006
    Hallo Hagen,
    mit Deinen Ausführungen hast Du natürlich recht.
    Weiter oben hat MasterEvil aber geschrieben, dass er im Hauptprogramm auf Methoden/Eigenschaften des Objektes zugreift, die nicht per Interface erreichbar sind. Das ist ja wegen der Sichtbarkeit vom "objektorientierten Standpunkt" aus auch gut so. Leider ist so ein Mix aber nicht wirklich gefahrlos möglich, da er zu den beschriebenen...
  • Forum: Sonstige Fragen zu Delphi

    Re: Plugin-System mit Interfaces und DLLs

      Delphi
      by xaromz, 23. Mär 2006
    Hallo,

    das Zerstören des Objekts überlässt Du dem GC. Daher ruf ich auch _Release auf. Durch das manuelle hochzählen des Referenzzählers steht der am Ende auf Eins. Um das Objekt zu zerstören, rufst Du _Release auf, womit der Zähler auf Null geht und das Objekt sich selbst zerstört. Deshalb ist auch kein Free nötig.

    Ich häng mal ein Beispiel ran:
    Die beiden oberen Buttons erstellen ein...
  • Forum: Sonstige Fragen zu Delphi

    Re: Plugin-System mit Interfaces und DLLs

      Delphi
      by xaromz, 23. Mär 2006
    Hallo,

    versuch mal folgendes:
    var
    MyClass: TMyClass;

    begin
    MyClass := TMyClass.Create;
    MyClass._AddRef; // <- internen Zähler hochsetzen
    MachWas(MyClass);
  • Forum: Sonstige Fragen zu Delphi

    Re: Plugin-System mit Interfaces und DLLs

      Delphi
      by xaromz, 21. Mär 2006
    Hallo,

    Deine Klasse musst Du natürlich als TInterfacedObject deklarieren. Was Du aber nicht machen darfst, ist folgendes:
    type
    TMyClass = class(TInterfacedObject, IMyInterface)
    end;

    procedure MachWas(MyInterface: IMyInterface);
    begin
    //
  • Forum: Sonstige Fragen zu Delphi

    Re: Plugin-System mit Interfaces und DLLs

      Delphi
      by xaromz, 21. Mär 2006
    Hallo,

    ist FPmInterface ein TInterfacedObject oder ein Interface? Falls es ersteres ist, dann solltest Du das vergessen und nur das Interface speichern. Wenn Du nämlich ein TInterfacedObject erstellst und speicherts ist der Referenzzähler Null. Sobald Du dann das Interface benutzt wird der Referenzzähler erhöht und wieder vermindert -> Objekt wird freigegeben. Lästige Sache.
    Siehe auch hier....


URL zu dieser Suchanfrage:

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