Forum > Documentation (Maintaining -)

doc (CHM) snapshot updated 2020-12-30

<< < (7/7)

marcov:

--- Quote from: Andrey Sobol on January 18, 2021, 04:57:13 am ---
--- Quote from: dsiders on January 18, 2021, 01:41:51 am ---
--- Quote from: marcov on January 17, 2021, 09:47:05 pm ---I uploaded a new snapshot (to the url of the first post), but meanwhile Michael committed new patches :-)

--- End quote ---

The description for the default topic in lazutils.chm has the wrong content It displays the content from lazlistclasses.xml.


--- End quote ---
That is a parser error on a processing an unit lazlistclasses.pas I know about it.  I even know the line of code when processing which this happens, but no one has yet found why.

--- End quote ---

Without knowing details, this line looks murky:

  generic TLazFixedRoundBufferListMemBase<TPItemT, TSizeT> = object(specialize TLazRoundBufferListObjBase<TPItemT, TSizeT>)

Andrey Sobol:

--- Quote from: marcov on January 18, 2021, 07:35:03 am ---
Without knowing details, this line looks murky:

  generic TLazFixedRoundBufferListMemBase<TPItemT, TSizeT> = object(specialize TLazRoundBufferListObjBase<TPItemT, TSizeT>)

--- End quote ---
The full version of that problem...  looks like

>> Fpdoc hanging on exit when it parses such code, I have minimized it.
>>
>> generic TLazFixedRoundBufferListMemBase<TSizeT> = object(specialize
>> TLazBase<TSizeT>)
>>  procedure MoveBytesToOther(AnOther: TLazFixedRoundBufferListMemBase);
>> end;
>>
>> This is happened when the generic TLazFixedRoundBufferListMemBase
>> object uses again itself into a procedure (unit LazListClasses).
>>
>> I tried also a such construction:
>> generic TLazFixedRoundBufferListMemBase<TSizeT> = class (TObject)
>>  procedure MoveBytesToOther(AnOther: TLazFixedRoundBufferListMemBase);
>> end;
>>
>> The result is same, the recursion into the generic template class produces error of fpdoc.
>> I don`t know where is happened. Please, farther organize the process
>> of correcting this yourself.

The strangest thing is that the parser does not say anything

marcov:
The compiler also had heaps of such special cases, Sven had to fix them one by one.

Andrey Sobol:

--- Quote from: marcov on January 18, 2021, 09:59:01 am ---The compiler also had heaps of such special cases, Sven had to fix them one by one.

--- End quote ---
Maybe you need to check the error handling also. Someone swallowed the error.

Andrey Sobol:
News about changes:
1. After that as Matias made some changes inside a parser that I don`t see any errors on a parse process for the lazlistclasses.pas unit (generic templates). Now is missing only one definition:


--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---type TLazPagedListObjParent = specialize TLazPagedListObjBase<Pointer, TLazListClassesVarItemSize>;
2. I found a structure error inside a lazlistclasses.xml. As result of that error a description of the lazlistclasses was placed instead a package description. It is  fixed now.
https://bugs.freepascal.org/view.php?id=38380


The last generated chm`s are here
https://drive.google.com/drive/folders/1ci_GiciVwZei4PTyo_5QE5GLTppszwmI?usp=sharing

Navigation

[0] Message Index

[*] Previous page

Go to full version