AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Umstellung XE auf XE10 Tokyo: Probleme Namensauflösung
Thema durchsuchen
Ansicht
Themen-Optionen

Umstellung XE auf XE10 Tokyo: Probleme Namensauflösung

Ein Thema von ULIK · begonnen am 27. Jun 2018 · letzter Beitrag vom 27. Jun 2018
Antwort Antwort
Benutzerbild von ULIK
ULIK

Registriert seit: 25. Sep 2006
Ort: Regensburg
416 Beiträge
 
Delphi 11 Alexandria
 
#1

Umstellung XE auf XE10 Tokyo: Probleme Namensauflösung

  Alt 27. Jun 2018, 10:39
Delphi-Version: 10.2 Tokyo
Servus,

Nach langen Jahren geliebter Delphi XE Umgebung bin ich gerade dabei, unser Hauptprodukt auf XE10.2 umzustellen. Ich habe die aktuellen Komponenten besorgt, die verwendet werden und versuche nun, das Ganze erst mal unter 32Bit wieder zum Kompilieren zu bringen. Dabei laufe ich gerade in einen sehr seltsamen Fehler:

Es wird in dem Produkt auch Graphics32 verwendet. Aktuelle Version ist geholt und ich kann ein kleines Testprojekt damit auch kompilieren.
Nun bekomme ich im eigentlichen Projekt zig Fehlermeldungen:
Zitat:
[dcc32 Fehler] paGraphicUtils.pas(262): E2251 Doppeldeutiger überladener Aufruf von 'Point'
gr32.pas(1): Verwandte Methode: function Point(Integer; Integer): TPoint;
System.Types.pas(1961): Verwandte Methode: function Point(Integer; Integer): TPoint;
Es stimmt schon, in GR32 und Types sind identische Point-Funktionen enthalten (und beide in der uses Claus eingebunden), aber das nicht erst seit der neuesten Version, die ich mir installiert habe.
Ich hab das zum Test auch gleich noch mal mit XE kompiliert, und da wird diese Stelle nicht angemeckert, obwohl ja auch hier die Funktion in beiden Units vorhanden ist.

Ein ähnliches Problem hab ich auch an einer anderen Stelle mit DeleteFile: hier meckert mir der Kompiler nicht übereinstimmende Typen PWideChar und String an, weil er dort anscheinend die Funtionen Sysutils.DeleteFile und Windows.DeleteFile durcheinanderbringt.

Kennt jemand das Problem? Klar kann ich jeden Aufruf nun mit dem expliziten Unitnamen versehen, aber irgendwas stimmt doch da nicht (vorallem weil es ja in einem kleinen Testprojekt korrekt funktioniert). Nur was?

viele Grüße,
Uli
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.000 Beiträge
 
Delphi 12 Athens
 
#2

AW: Umstellung XE auf XE10 Tokyo: Probleme Namensauflösung

  Alt 27. Jun 2018, 10:51
In XE war die Funktion noch nicht als overload deklariert. Da GR32 mehrere Point-Funktionen auch als overload deklariert, kommt es hier zu einer Kollision.

Übrigens: System.Classes definiert auch noch eine, aber eben nicht als overload. Deswegen genügt hier die passende Reihenfolge in der uses-Anweisung.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von ULIK
ULIK

Registriert seit: 25. Sep 2006
Ort: Regensburg
416 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Umstellung XE auf XE10 Tokyo: Probleme Namensauflösung

  Alt 27. Jun 2018, 11:22
Danke für die Erklärung! D.h. mir bleibt also nichts anderes übrig, als den expliziten Namespace anzugeben. Nu denn, hilft ja nüscht, sauberer ist es allemal.
  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:44 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