Generic.Collections Fehler

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
HobbyProgrammer
Beiträge: 202
Registriert: Di 29. Okt 2019, 12:51
Wohnort: Deutschland , Baden-Württemberg

Generic.Collections Fehler

Beitrag von HobbyProgrammer »

Hallo alle zusammen,

für eine aktuelle Idee wollte ich TDictionary aus den Generic.Collections verwenden. Aber schon bei der
Deklaration bekomme ich beim Kompilieren einen Fehler.

Folgender Code kompiliert in einem neuen Projekt ohne Probleme:

Code: Alles auswählen

uses Generics.Collections;

type
  TTagInfo = record
    Title: string;
    Name: string;
    CommitID: string;
  end;

  TTagVersions = specialize TDictionary<String, TTagInfo>; 
wenn ich diesen Code in das Projekt einfüge welches ich derzeit versuchen möchte zu Erweitern, bekomme ich beim
Kompilieren folgenden Fehler:
Generic.Collections-Fehler.jpg
Generic.Collections-Fehler.jpg (36.59 KiB) 927 mal betrachtet
Beim Schreiben des Code konnte ich das TDictionary mit STRG+Leertaste vervollständigen. Auch wenn ich mit dem Mauscursor
über TDictionary stehe kann ich mit ALT+Hoch auf die Deklaration in generic.dictionarys.inc springen. Also scheint alles da zu sein.

Ich habe mir auch von Warf sein Proof of Concept https://github.com/Warfley/LazSetup für einen Lazarus-Installer heruntergeladen, welcher auch Generics.Collections verwendet. Auch dieser kompiliert ohne Probleme.

Auch habe ich die Compiler-Projekteinstellungen der Projekte verglichen, konnte aber einen mir bekannten Fehler feststellen.

Hat jemand einen Tipp für mich woher der Fehler kommen kann?

Grüße
HobbyProgrammer

P.S.: Lazarus 3.6 + FPC 3.2.2 auf KUbuntu 22.04LTS 64bit
Zuletzt geändert von HobbyProgrammer am Do 5. Dez 2024, 11:25, insgesamt 1-mal geändert.
Host: Core i7-12700H, NVIDIA RTX3050 6GB, 32GB Ram, 1TB NVME SSD mit KUbuntu 24.04LTS 64bit , VM KUbuntu 22.04 LTS 64bit mit Lazarus 3.6 und Cross-Platform Compiler für Linux 32/64bit und Windows 32/64bit. Wine für erste Tests der Windows Binarys.

Warf
Beiträge: 2080
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Generic.Collections Fehler

Beitrag von Warf »

Wie meinst du das das du den Fehler beim Einfügen bekommst? Lazarus ist ja im Grunde erstmal nur ein Editor, und das beim "normalen" copy pasten/editieren Messages aufpoppen. Kommt das wenn du Strg+Leer klickst oder wann?

HobbyProgrammer
Beiträge: 202
Registriert: Di 29. Okt 2019, 12:51
Wohnort: Deutschland , Baden-Württemberg

Re: Generic.Collections Fehler

Beitrag von HobbyProgrammer »

Ist von mir vielleicht etwas schlecht geschrieben.
Ich meinte, wenn ich diesen Code in dem Projekt welches ich ergänzen möchte, schreibe
kann ich ganz normal mit Code-Vervollständigung arbeiten, da wird nicht angemeckert.
Erst wenn ich das Projekt dann kompiliere kommt diese Fehlermeldung.
Host: Core i7-12700H, NVIDIA RTX3050 6GB, 32GB Ram, 1TB NVME SSD mit KUbuntu 24.04LTS 64bit , VM KUbuntu 22.04 LTS 64bit mit Lazarus 3.6 und Cross-Platform Compiler für Linux 32/64bit und Windows 32/64bit. Wine für erste Tests der Windows Binarys.

Warf
Beiträge: 2080
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Generic.Collections Fehler

Beitrag von Warf »

Interessant also Generics.Collections ist teil der FCL(RTL?) und somit wird vom FPC in vorkompiliert PPU format verwendet. Also die include Datei sollte zum Kompilieren keinen Einfluss haben. Gleichzeitig sieht das auch nicht nach einem FPC Fehler aus sondern einem Lazarus Fehler aus.

Hast du mal versucht Lazarus neu zu Kompilieren? (Werkzeuge->Lazarus Kompilieren einrichten->Alles Aufräumen anklicken -> Neu Kompilieren)

HobbyProgrammer
Beiträge: 202
Registriert: Di 29. Okt 2019, 12:51
Wohnort: Deutschland , Baden-Württemberg

Re: Generic.Collections Fehler

Beitrag von HobbyProgrammer »

Das habe ich bis jetzt noch nicht, aus dem Grund, da ich ja mit der gleichen Lazarus Version in einem neuen Projekt diesen Code kompilieren kann.
Host: Core i7-12700H, NVIDIA RTX3050 6GB, 32GB Ram, 1TB NVME SSD mit KUbuntu 24.04LTS 64bit , VM KUbuntu 22.04 LTS 64bit mit Lazarus 3.6 und Cross-Platform Compiler für Linux 32/64bit und Windows 32/64bit. Wine für erste Tests der Windows Binarys.

PascalDragon
Beiträge: 901
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: Generic.Collections Fehler

Beitrag von PascalDragon »

Hast du vielleicht noch irgendwie das Lazarus Package mit den Generics in Lazarus installiert, welches es mal gab, bevor die Generics.Collections in FPC 3.2.0 mitgeliefert wurde, und von deinem Projekt referenziert? Ansonsten kompiliere mal mit der Kommandozeilenoption -vut aktiviert und kopiere alle Meldungen aus dem Nachrichtenfenster.
FPC Compiler Entwickler

HobbyProgrammer
Beiträge: 202
Registriert: Di 29. Okt 2019, 12:51
Wohnort: Deutschland , Baden-Württemberg

Re: Generic.Collections Fehler

Beitrag von HobbyProgrammer »

Hallo Pascal Dragon,

ich habe das Projekt nun mal mit -vu -vt kompiliert. Das Message-Log habe ich Dir angehängt.
messages.zip
(1.15 MiB) 71-mal heruntergeladen
Host: Core i7-12700H, NVIDIA RTX3050 6GB, 32GB Ram, 1TB NVME SSD mit KUbuntu 24.04LTS 64bit , VM KUbuntu 22.04 LTS 64bit mit Lazarus 3.6 und Cross-Platform Compiler für Linux 32/64bit und Windows 32/64bit. Wine für erste Tests der Windows Binarys.

HobbyProgrammer
Beiträge: 202
Registriert: Di 29. Okt 2019, 12:51
Wohnort: Deutschland , Baden-Württemberg

Re: Generic.Collections Fehler

Beitrag von HobbyProgrammer »

Hallo zusammen,

ich habe das Vorhaben nun mit TFPGMap gelöst. :)

Grüße
HobbyProgrammer
Host: Core i7-12700H, NVIDIA RTX3050 6GB, 32GB Ram, 1TB NVME SSD mit KUbuntu 24.04LTS 64bit , VM KUbuntu 22.04 LTS 64bit mit Lazarus 3.6 und Cross-Platform Compiler für Linux 32/64bit und Windows 32/64bit. Wine für erste Tests der Windows Binarys.

Antworten