AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Konfliktprobleme zwischen DB-Units
Thema durchsuchen
Ansicht
Themen-Optionen

Konfliktprobleme zwischen DB-Units

Ein Thema von ShadowCaster · begonnen am 30. Jun 2003 · letzter Beitrag vom 3. Jul 2003
Antwort Antwort
ShadowCaster

Registriert seit: 19. Mai 2003
71 Beiträge
 
Delphi 5 Enterprise
 
#1

Konfliktprobleme zwischen DB-Units

  Alt 30. Jun 2003, 11:52
Hallo Leute,

ich habe ein böses Problem, dessen Lösung für mich rätselhaft ist. Also zunächst versuche ich 2 DB-Units in einer Klasse zu vereinen. Zum einen sind es die IBX-Komponenten für delphi und die TDatabase-Komponenten von Delphi (BDE-Verbindung). Eigentlich läuft alles Problemlos nur folgender Befehl löst einen Fehler aus.

Code:
Result := FIBConnection.TraceFlags;


ich bekomme den Fehler: Inkompatible Typen: DBTables.TTraceFlag und IB.TTraceFlag.

Wenn ich die entsprechende Unit (so löst man das auch normalerweise) vor den Befehl schreib, bekomme ich an der Stelle nurnoch mehr Fehlermeldungen. Hilfe hätte ich hier echt bitter nötig, sonst muss ich verzweifeln.

Warum ich diese beiden Units einbinde und auf beide Datenbanktypen zugreifen will? ganz einfach. Es geht darum, dass ich in meinem Programm was embedded SQL nutzt auf oberster Ebene sagen kann: Ich möchte jetzt z.B. die BDE statt Interbase benutzen. Dazu schreib ich mir eine Klasse, die beide Datenbankunits miteinander verbindet und Befehle vereint. So setze ich nurnoch einen Schalter und schon hab ich eine andere DB dran

Ich hoffe, ihr könnt mir helfen. In nem anderen Delphiforum bekomme ich leider keine Antworten, sondern nur Beiträge, die meinen Thread offtopic machen.

Vielen Dank und bitte helft mir
  Mit Zitat antworten Zitat
ShadowCaster

Registriert seit: 19. Mai 2003
71 Beiträge
 
Delphi 5 Enterprise
 
#2
  Alt 1. Jul 2003, 17:06
na toll, da stellt man in 2 Foren die Frage und keine Antwort. Das zeigt mir mal wieder, dass sich hier keiner mit Datenbanken auszukennen scheint. Schade. Hab das Problem jetzt mit einem riesen Umweg gelöst. Bin dazu hergegangen und hab die Klasse in 3 weitere aufgespaltet und eine die von ihnen erbt. Die 3 Klassen haben jeweils einzeln die entsprechende (interbase, ado oder bde) - Unit in den Uses stehen. Ich parse also die drei Klassen komplett über eine Verbindungsklasse rüber. Sehr aufwendig und ziemlich blöd aber anders gehts (dank dem tollen Compiler) nicht.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#3
  Alt 1. Jul 2003, 17:15
Moin ShadowCaster,

Zitat von ShadowCaster:
na toll, da stellt man in 2 Foren die Frage und keine Antwort. Das zeigt mir mal wieder, dass sich hier keiner mit Datenbanken auszukennen scheint.
Bist Du schon auf die Idee gekommen, dass nicht jeder ständig im Forum vorbeischaut?
Es kann halt ein wenig dauern, bis jemand, der sich damit auskennt Deine Frage liest.
Ich weiss zwar nicht, ob es hier jemanden gibt der Deine Frage beantworten kann, aber ein wenig Geduld kann bestimmt nicht schaden.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#4
  Alt 1. Jul 2003, 17:51
Hallo,
Zitat von ShadowCaster:
na toll, da stellt man in 2 Foren die Frage und keine Antwort. Das zeigt mir mal wieder, dass sich hier keiner mit Datenbanken auszukennen scheint.
Ich denke das so mancher User hier Dir in Datenbanken noch einiges vormachen kann!

Schonmal dran gedacht was in dem anderem Forum losgewesen ist, wie und was für Leute Du beleidigt hast, was Du alles für "schlimme" Sachen geschriebenhast, vielleicht liegt es einfach nur an Dir! Man soll halt immer aufpassen was und zu wem was sagt, man weiss im Internet nie mit wem man es zutun hat!

Und jetzt möchte ich Dich einfach noch um ein bisschen Geduld bitten, wie Christian es schon sagte, nicht jeder schaut alle 10 minuten hier rein. Es soll ja Leute geben die Arbeiten müssen! (warum auch immer)

Grüsse, Daniel
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5
  Alt 1. Jul 2003, 18:42
Zitat von ShadowCaster:
na toll, da stellt man in 2 Foren die Frage und keine Antwort. Das zeigt mir mal wieder, dass sich hier keiner mit Datenbanken auszukennen scheint.
Und dieser Satz zeigt, dass du keine Ahnung hast, wo der Unterschied zwischen Datenbank und Typenkompatiblität liegt, denn dein Problem hat prinzipiell gar nichts mit Datenbanken zu tun.

Um dir aber doch noch ein wenig zu helfen.
Du musst bei der Deklaration der Variablen den Unit-Namen gefolgt von einen Punkt dem Typen voranstellen. Um es mit dem Fachwort auszudrücken: Du bist im falschen Namespace.
Delphi-Quellcode:
function Irgendwass: IB.TTraceFlag;
begin
end;
  Mit Zitat antworten Zitat
ShadowCaster

Registriert seit: 19. Mai 2003
71 Beiträge
 
Delphi 5 Enterprise
 
#6
  Alt 3. Jul 2003, 17:03
1000000 mal Danke jbg Du hast die Antwort im genau richtigen Moment gepostet. Alles läuft richtig und fehlerlos. Es waren nur die Traceflags wo die Konflikte aufgetreten sind. Endlich jemand der auf die Frage antwortet und das Thema nicht offtopic macht wie diverse mods ))


warum ich das Problem bei Datenbanken gepostet habe: ich dachte, dass es wegen der Thematik hier hin gehört :-/ Hätte ich doch besser unter "allgemein" posten sollen.


@DanielB: ich weiß nicht was für dich schlimm ist, wie du diesen Ausdruck definierst. Für dich ist vermutlich noch schlimm, wenn jemand einen Kratzer auf deinem Auto entdeckt und diesen wegpoliert . Ich find überhaupt nichts daran schlimm dass ich mich in dem anderen Forum darüber aufgeregt hab dass bei ca 50% aller meiner Beiträge Antworten kommen, die mir erstmal meine Dummheit bescheinigen und das Thema sofort offtopic machen. Tja, das tut mir leid wenn du dich damit sooo sehr auf den Schlips getreten fühlst aber dann lieber nix posten. Mir its eigentlich schnurtz piep egal wenn mich andere Leute beleidigen oder als soo dumm hinstellen, nur weil ich die blanke Wahrheit sage. Sicher doch... sicher können es in dem Forum hier alle DB-Leute mit mir aufnehmen. Das liegt daran, dass ich mit Query und nicht mit Tables oder Datasets arbeite, weil mir die Formular-Komponenten zu statisch sind und sich für große Datenbanken und komplexe Abfragen überhaupt nicht eignen. Das ist vielmehr, falls jemand z.B. eine Telefonnummernliste anzeigen will. Ich gehe generell immer her und verwende Queries und schreibe deren Ergebnisse in eine TList als Objekte und zeige diese an. Damit ist mein DB-Wissen vielleicht begrenzter aber ich bin flexibler.

@jbg:
Zitat:
Und dieser Satz zeigt, dass du keine Ahnung hast, wo der Unterschied zwischen Datenbank und Typenkompatiblität liegt, denn dein Problem hat prinzipiell gar nichts mit Datenbanken zu tun.
Wenn ich Ahnung davon gehabt hätte, hätte ich die Frage doch wohl nicht gestellt oder bin ich allwissend? Das zweifle ich doch sehr an.
  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 09:22 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