AGB  ·  Datenschutz  ·  Impressum  







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

Compiler Fehler NC338 bei Generics

Ein Thema von backdraft · begonnen am 16. Feb 2023 · letzter Beitrag vom 16. Feb 2023
Antwort Antwort
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.749 Beiträge
 
Delphi 2007 Professional
 
#1

AW: Compiler Fehler NC338 bei Generics

  Alt 16. Feb 2023, 14:34
Schuss ins Blaue: Vielleicht hilft's, den Rückgabetyp von MyFunc explizit zu machen?
Delphi-Quellcode:
type
  TMyBooleanRecord = TMyRecord<Boolean>;
function MyFunc: TMyBooleanRecord;
statt
function MyFunc: TMyRecord<Boolean>;
Uli Gerhardt
  Mit Zitat antworten Zitat
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
339 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Compiler Fehler NC338 bei Generics

  Alt 16. Feb 2023, 15:07
Schuss ins Blaue: Vielleicht hilft's, den Rückgabetyp von MyFunc explizit zu machen?
Delphi-Quellcode:
type
  TMyBooleanRecord = TMyRecord<Boolean>;
function MyFunc: TMyBooleanRecord;
statt
function MyFunc: TMyRecord<Boolean>;
Hab ich gerade probiert geht nicht. Hatte ich meine ich auch schon mal probiert. Aber gute Idee, danke fürs mitdenken

Ich hab überall mal nach NC338 gesucht, aber finde nix wirklich.
Das Problem habe ich schon seitdem ich inline Vars benutze.

Hat es sonst noch nie jemand gehabt?
Oliver
  Mit Zitat antworten Zitat
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
339 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Compiler Fehler NC338 bei Generics

  Alt 16. Feb 2023, 15:15
Hab ne Demo gemacht.
Es ist immer z.B. dann wenn das Result in einer anderen Unit ist als die Funktion und das Result als Generic definiert ist.
Angehängte Dateien
Dateityp: zip NC338.zip (1,7 KB, 3x aufgerufen)
Oliver
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.784 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Compiler Fehler NC338 bei Generics

  Alt 16. Feb 2023, 15:24
mit der letzen Beta Version kann ich Deinen Fehler nicht nachstellen.
Auch nicht wenn mit MSBuild kompiliert wird.

Mit der Version 11.2 ist der Fehler nachstellbar wenn MSBuild genutzt wird.

Grüße
Klaus
Klaus

Geändert von Klaus01 (16. Feb 2023 um 15:28 Uhr)
  Mit Zitat antworten Zitat
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
339 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Compiler Fehler NC338 bei Generics

  Alt 16. Feb 2023, 15:30
mit der letzen Beta Version kann ich Deinen Fehler nicht nachstellen.
Auch nicht wenn mit MSBuild kompiliert wird.

Mit der Version 11.2 ist der Fehler nachstellbar wenn MSBuild genutzt wird.

Grüße
Klaus
Das wäre natürlich super.
Ich habe die letzte 10.4 und 11.2 probiert. Da geht es leider nicht.
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.053 Beiträge
 
Delphi 12 Athens
 
#6

AW: Compiler Fehler NC338 bei Generics

  Alt 16. Feb 2023, 15:43
Wobei ich persönlich sehr von Type Inference abrate. Wenn man dann den Rückgabewert ändert, ändert sich automatisch der Variablentyp. Im günstigsten Fall bekommt man dann irgendwo später bei Verwendung der Variable einen Kompilierfehler und wenn man Glück hat, erkennt man auch schnell woran das liegt. Wenn man Pech hat, funktioniert der Quelltext trotzdem weiter und tut nur nicht mehr das, was er soll.

Deshalb würde ich immer den Typ einer Variable bei deren Deklaration angeben.
Sebastian Jänicke
AppCentral
  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 02:42 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-2025 by Thomas Breitkreuz