AGB  ·  Datenschutz  ·  Impressum  







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

E2086 und E2004

Ein Thema von Hobbycoder · begonnen am 16. Jul 2020 · letzter Beitrag vom 9. Okt 2020
 
Hobbycoder

Registriert seit: 22. Feb 2017
998 Beiträge
 
#1

E2086 und E2004

  Alt 16. Jul 2020, 11:37
Hi,

ich habe SQLDirect 6.5 und möchte diese nun unter 10.4 installieren. Unter 10.3 lief es.

Der Compiler zeigt mir folgenden Fehler : [dcc32 Fehler] SDCommon.pas(445): E2086 Typ 'TSDParam' ist nicht vollständig definiert

Codeauszug:
Delphi-Quellcode:
  TSDParam    = class; //<-- Hier kommt der Fehler
  TSDParams    = class;
  TSDParamType   = (ptUnknown, ptInput, ptOutput, ptInputOutput, ptResult);

  TSDHelperParam    = TSDParam;
  TSDHelperParams    = TSDParams;
  TSDHelperParamType= TSDParamType;
Es handelt sich wohl um eine Forwarddeklaration, denn TDSParam wird weiter unten im Code als TPersistent wein weiteres mal deklariert.
Ich bekomme den Fehler nur weg, wenn ich das in
Delphi-Quellcode:
  TSDParam    = class(TObject);
  TSDParams    = class(TObject);
ändere, oder so
Delphi-Quellcode:
  TSDParam    = class

  end;
  TSDParams    = class

  end;
  TSDParamType   = (ptUnknown, ptInput, ptOutput, ptInputOutput, ptResult);
dann scheint der compiler zufrieden.

Wie gesagt wird es weiter unten erneut deklariert, aber da kommt dann der Fehler: [dcc32 Fehler] SDCommon.pas(749): E2004 Bezeichner redeklariert: "TSDParam"
Dieser Code sieht folgendermaßen aus:
Delphi-Quellcode:
  TSDParam = class(TPersistent) //<-- Hier tritt der Fehler auf
  private
    .
    .
    .
  protected
    .
    .
    .
  public
    .
    .
    .
  end;
Das gleiche passiert bei TDSParams auch.

Warum muss ich bei der ersten Deklaration TObject (TPersistent geht auch) angeben?

Und warum wird die zweite Deklaration angemeckert?
Muss man das in 10.4 anders machen?
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
 


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 23:03 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