identifier not found lazarus / 5-Lazarus Extra Components ---------------------------------------------------------------------- mrspock1 · 2018-08-02 08:04 I downloaded https://github.com/maciej-izak/generics.collections and put the "src" and "inc" directories in the project=>options=> other unit files in the "uses" I added "Contnrs" and "Generics.Collections" I get identifier not found while putting in the code type   b=TQueue;   a= TDictionary; ---------------------------------------------------------------------- Handoko · 2018-08-02 08:23 Try this: 01. Start a new project 02. Lazarus main menu > File > Open 03. Browse to the [location]\src 04. Open the file named generics.collections.pas 05. Lazarus main menu > Project > Add Editor File to Project 06. Answer Yes (when asked Add to unit search path?) 07. Goto the tab unit1 (your source code) 08. Type Generics.Collections in the uses clauses 09. It should work now ---------------------------------------------------------------------- mrspock1 · 2018-08-02 08:37 There is some progress. Type definitions are OK. but I get the message The GDB command: "-environment-cd "C:/Users/mariu/AppData/Local/Temp/"" returned the error: ",msg="C:/Users/mariu/AppData/Local/Temp/: Permission denied."" I do not know where to set this to a different directory ---------------------------------------------------------------------- Handoko · 2018-08-02 08:40 I use Linux but my guess is you had not save the project. Try to save the project first before running: Lazarus main menu > File > Save All ---------------------------------------------------------------------- mrspock1 · 2018-08-02 08:58 I had to start a new project as there were some errors unsolvable. Repeated everything and get the same message "identifier not found" regarding Tqueue and Tdictionary. Now I do not know at all where I did something wrong. ---------------------------------------------------------------------- marcov · 2018-08-02 10:14 Quote from: mrspock1 on August 02, 2018, 10:04:56 amtype   b=TQueue;   a= TDictionary; This is correct, since it requires specialization TQueue or TDICTIONARY Make sure you enable delphi mode, so you don't have to learn the old objfpc generics dialect. ---------------------------------------------------------------------- mrspock1 · 2018-08-02 12:17 That is correct, I used in the first place   b=TQueue;   a= TDictionary; and got ";" expected but "<" found. So removed all within <> and then there was the message identifier not found. ---------------------------------------------------------------------- Thaddy · 2018-08-02 12:49 I think you are mixing up mode delphi and mode objfpc. Mode objfpc (default, als, in Lazarus) has a very different syntax for generics. ---------------------------------------------------------------------- mrspock1 · 2018-08-02 13:03 I have previously set compiler options=>analysis=>syntax mode=> Delphi (-MDelphi) ---------------------------------------------------------------------- marcov · 2018-08-02 13:04 Or it finds the contnrs versions. Remove contnrs from the uses. ---------------------------------------------------------------------- mrspock1 · 2018-08-02 13:13 The same problem type   b=TQueue;   a= TDictionary; ";" expected but "<" found ---------------------------------------------------------------------- mrspock1 · 2018-08-02 13:47 Ops.. my mistake So I removed "contnrs" from the uses in Unit1 and put unit Unit1; {$MODE DELPHI}{$H+} and now all works only I did not expect to have so much trouble