Recent

Author Topic: TDictionary -> file not found?  (Read 1091 times)

mb

  • New Member
  • *
  • Posts: 10
TDictionary -> file not found?
« on: May 31, 2020, 07:27:37 pm »
I am using trunk version and having some problems with TDictionary, TList is working well.

So clicking on a definition takes me right into the file "generics.dictionaries.inc".
At debugging it tells me that this file is missing!

Also Syntax is not working, cant do anything with e.g. TDictionary.xxx.

File is existing, but I think its wrong linked or whatever ... after selecting it once manually it works, but at next startup of Lazarus its missing again.

Dont know who to "blame" ;)  for this, using fpcupdeluxe to build.

« Last Edit: May 31, 2020, 07:32:41 pm by mb »

jamie

  • Hero Member
  • *****
  • Posts: 6090
Re: TDictionary -> file not found?
« Reply #1 on: May 31, 2020, 07:42:15 pm »
the file isn't missing if you are able to see it using Code tools. The issue is those files are not directly part of Lazarus so there is no debug info for them..

 So basically the debugger will not step into any of its code.
 
 The files are put there so Code tools will work to show you members of it

 You could have other issues but this is just a guess on my part,.
The only true wisdom is knowing you know nothing

mb

  • New Member
  • *
  • Posts: 10
Re: TDictionary -> file not found?
« Reply #2 on: May 31, 2020, 08:00:02 pm »
Thank you very much for your answer.

Ok, but to clarify this:

TList is working. In code editor I can do e.g. "List.Add(item)". There are no extensions for a dictionary.
For a TDictionary this is still not working, instead is opening the inc file and points to line 614:

Quote
TOpenAddressingLP<TKey, TValue>  = class(TOpenAddressingLP<TKey, TValue, TDefaultHashFactory, TLinearProbing>);
telling "Error: cycle detected", while underlining "TOpenAddressingLP".

TList extended functions are working inside the code editor.
« Last Edit: May 31, 2020, 08:01:45 pm by mb »

howardpc

  • Hero Member
  • *****
  • Posts: 4144
Re: TDictionary -> file not found?
« Reply #3 on: May 31, 2020, 08:33:54 pm »
CodeTools has issues with generics, and a fix (or fixes) are still awaited. At present you cannot rely on CodeTools if you do much development using generics, and you will have to work around its limitations. Once you have finished typing the generic syntax, CodeTools behaves itself again and becomes useful rather than a nuisance.

 

TinyPortal © 2005-2018