AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pointer auf Oberklassen

Ein Thema von theomega · begonnen am 15. Sep 2003 · letzter Beitrag vom 16. Sep 2003
Antwort Antwort
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#1

Re: Pointer auf Oberklassen

  Alt 16. Sep 2003, 11:53
Zitat:
Und warum sind die nicht kompatibel? TIBQuery ist doch ein Nachfahre von TQuery, oder?
Selbst eine EXE.TQuery ist nicht kompatibel mit DLL.TQuery.
Klassen können nicht aus DLL's übergreifend benutzt werden !! Nur wenn die EXE und die DLL die Packages VCL??.bpl und VCLDB??.bpl verwenden können Klassen die in diesen Packages deklariert wurden übergreifend benutzt werden.
Wird das nicht so gemacht dann linkt der Compiler für die EXE und die DLL jeweils separat die komplette VCL ein. Somit ist die Klasse TQuery in der EXE nicht mehr identisch mit der Klasse TQuery in der DLL. Sie sind zwar Speicherkompatibel, also der Klassenrecord in den Codesegemnten der EXE und DLL sind identisch aufgebaut aber es sind NICHT der gleiche Record, eg. Speicherbereich. Da z.B. der IS und AS Operator aber auf der Speicheradresse der Klassendefinition aufbaut funktionieren diese Operatoren nicht mehr. D.h. eine TQuery erzeugt in der DLL würde bei der Abfrage if (DLLQuery is TQuery) then ; in der EXE immer FALSE liefern.

Es ist also falsch DLL's zu bauen die mit Klassen arbeiten auf die die EXE zugreifen will. Es sei denn man benutzt Packages.

Gruß Hagen
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:44 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 by Thomas Breitkreuz