AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Tutorial Interfaces

Tutorial Interfaces

Ein Tutorial von Fritzew · begonnen am 12. Apr 2017 · letzter Beitrag vom 11. Okt 2017
Antwort Antwort
hph97

Registriert seit: 10. Okt 2011
2 Beiträge
 
#1

AW: Tutorial Interfaces

  Alt 10. Okt 2017, 09:05
Warum funktioniert das Beispiel von DeddyH nur, wenn alles in der selben Unit implementiert ist? Wenn ich diesen kompletten Interface Teil in einer Unit2 auslagere so bekomme ich die Compiler Fehlermeldung "E2010 Inkompatible Typen IDisplay und TEdit".
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2

AW: Tutorial Interfaces

  Alt 10. Okt 2017, 09:13
Warum funktioniert das Beispiel von DeddyH nur, wenn alles in der selben Unit implementiert ist? Wenn ich diesen kompletten Interface Teil in einer Unit2 auslagere so bekomme ich die Compiler Fehlermeldung "E2010 Inkompatible Typen IDisplay und TEdit".
Weil hier der Compiler ein wenig ausgetrickst wurde. Stelle Unit2 an das Ende der Uses-Klausel, dann sollte es wieder gehen.

TEdit ist unter anderem auch in Vcl.StrCtrls definiert

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
hph97

Registriert seit: 10. Okt 2011
2 Beiträge
 
#3

AW: Tutorial Interfaces

  Alt 10. Okt 2017, 10:18
Zitat:
Weil hier der Compiler ein wenig ausgetrickst wurde. Stelle Unit2 an das Ende der Uses-Klausel, dann sollte es wieder gehen.
Ah cool, vielen Dank für den Tipp!
  Mit Zitat antworten Zitat
Devstructor

Registriert seit: 7. Sep 2016
4 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Tutorial Interfaces

  Alt 11. Okt 2017, 07:34
Es wäre noch ganz gut, wenn man kurz das RefCounting anhand der Klassen TComponent und TInterfacedObject im Tutorial aufgreift.

Dein DataModule ist von TComponent abgeleitet, deswegen kann man innerhalb und außerhalb der Klasse ganz normal mit der Objektreferenz arbeiten, ohne mit Konsequenzen zu rechnen. Dasselbe gilt natürlich auch für Formulare und anderen Kindern von TComponent.

Ein Hinweis auf RefCounting in diesem Tutorial - oder einem nächsten – wäre aus meiner Sicht wichtig, weil sonst Objekte von TInterfacedObject bei manchen automatisch zerstört werden, sobald der RefCount auf 0 dekrementiert. Wenn man das als Anfänger nicht weiß, ist der Fehler schwer reproduzierbar. Eventuell einfach ein try finally-Block mit und ohne FreeAndNil und dann im Destructor eine Konsolenausgabe. Dann kann man sehen, dass bei TComponent das manuelle zerstören benötigt wird und bei TInterfacedObject alles von alleine passiert

LG
Miguel
  Mit Zitat antworten Zitat
Antwort Antwort

 
Themen-Optionen Tutorial durchsuchen
Tutorial durchsuchen:

Erweiterte Suche
Ansicht

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 13:21 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