![]() |
Datenbank: ADS/BDE • Version: 7/5 • Zugriff über: Komponenten
Feststellen, ob TTable oder TAdsTable
Hallo,
durch einen Umstieg von der BDE auf den Advantage Database Server wird es eine Zeitlang beide Tabellentypen im Programm geben. Nun gibt es Routinen, bei denen ich unterscheiden muss zwischen einer TTable der BDE und einer TAdsTable. Wie kann ich denn herausfinden, von welchem Typ eine Tabelle ist? Gruß Frank |
Re: Feststellen, ob TTable oder TAdsTable
Zitat:
Delphi-Quellcode:
if tabelle17 is TTable then
begin // BDE end else if tabelle7 is TAdsTable begin // ADS end; |
Re: Feststellen, ob TTable oder TAdsTable
ach so einfach?
na dann: :wall: und: :thumb: Danke für die Antwort Gruß Frank |
Re: Feststellen, ob TTable oder TAdsTable
oder
Delphi-Quellcode:
oder
if tabelle17.class = TTable then
Delphi-Quellcode:
if tabelle17.classname = 'TTable' then
|
Re: Feststellen, ob TTable oder TAdsTable
Habe gerade festgestell, dass es einen Unterschied gibt zwischen shmias und meiner Methode.
z.B. Angenommen Edit ist ein TEdit Edit is TEdit -> true Edit is TWinControl -> true Edit.Class = TEdit -> true Edit.Class = TWinControl -> false bye |
Re: Feststellen, ob TTable oder TAdsTable
Zitat:
|
Re: Feststellen, ob TTable oder TAdsTable
Vor allem ist die Prüfung auf den string des Klassennamens schon ziemlich ... krass. :shock:
Während die normale, lesbare und vom Compiler geprüfte Variante (IS Operator) nur eine klitzekleine Operation durchführen muss, ist bei deiner Variante gleich ein ganzer Stringvergleich fällig. btw: Leitet die TAdsTable nicht von der TTable ab? Oder haben sie nicht einen kleinsten gemeinsamen Vorfahren, der die benötigten Eigenschaften und Methoden mitbringt? Dann dürfte es doch ziemlich easy sein nur den im Code zu nehmen. ;) |
Re: Feststellen, ob TTable oder TAdsTable
Zitat:
TDataSet->TBDEDataSet->TDBDataSet->TTable TDataSet->TAdsExtendedDataSet->TAdsTable |
Re: Feststellen, ob TTable oder TAdsTable
Zitat:
Übrigens: Wir hatten schon oft Anfragen, warum ADS denn die BDE weiterhin benötigt. Die Lösung bestand immer in einer Unit (dbtables), welche die Anwender in der uses-Klausel vergessen haben. Merke: Wenn BDE-Frei, dann auch alle BDE-Units entfernen! (und weil es so wichtig ist, gleich nochmal ein paar Ausrufezeichen!!!). |
Re: Feststellen, ob TTable oder TAdsTable
*In Deckung gehe* :duck:
sorry, TTable gehört zu den Dingen, die ich freiwillig wohl niemals anrühren werde. In der Hinsicht bin ich ganz stolz darauf inkompentent zu sein. :mrgreen: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:34 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