|
|
Witam!
Próbuję na potrzeby firmy rozpracować modelowanie i dokumentowanie kodu (w
szczególności, livedoc) w Delphi. Jednak już podczas przygotowywania
prezentacji dla programistów natrafiłem na problemy nie do przeskoczenia.
Ot, dodałem do projektu moduł z klasą (wrzucę sam nagłówek, ale to
wystarczy):
<code>
unit SpkVirtualFilesystem;
interface
uses SysUtils, Classes, ZlibEx;
type TObjectType = (otFile, otFolder);
type TVirtualObject = class(TObject)
private
///<summary>Folder w którym znajduje się obiekt</summary>
FParent : TVirtualObject;
///<summary>Nazwa obiektu</summary>
FName : string;
protected
///<summary>Setter dla własności Name</summary>
procedure SetName(AName : string);
///<summary>Getter dla własności GetParent</summary>
function GetParent: TVirtualObject;
///<summary>Setter dla własności Parent</summary>
procedure SetParent(const Value: TVirtualObject);
public
///<summary>Konstruktor</summary>
constructor Create; virtual;
class function CreateFromStream(Stream : TStream) : TVirtualObject;
///<summary>Metoda ładuje zawartość obiektu z pliku</summary>
procedure LoadFromStream(Stream : TStream); virtual; abstract;
///<summary>Metoda zapisuje zawartość obiektu do pliku</summary>
procedure SaveToStream(Stream : TStream); virtual; abstract;
published
///<summary>Folder w którym znajduje się obiekt</summary>
property Parent : TVirtualObject read GetParent write SetParent;
///<summary>Nazwa obiektu</summary>
property Name : string read FName write SetName;
end;
implementation
end.
</code>
Modelowanie na tej klasie kompletnie głupieje. Albo wyświetla klasę, która
nie ma żadnych pól ani metod albo pokazuje tylko pierwsze pole a resztę
pomija albo wręcz nie pokazuje całego modułu w modelowaniu. Dodam, że
identycznie jest w przypadku w pełni zaimplementowanej klasy. Żeby było
śmieszniej, problem naprawia usunięcie *wszystkich* komentarzy aż do metody
klasowej włącznie.
Co więcej, livedoc też bardzo łatwo wysypać. Po zastosowaniu forwardów do
klas, Livedoc pokazuje w podpowiedzi komentarz do pierwszego forwarda we
wszystkich klasach, ich polach i metodach aż do pierwszej klasy, która
zostanie zadeklarowana z jawnym "type".
Panowie z BSC/CodeGear, co Wy na to? Przy czym sugerowałbym nie odsyłać mnie
do QC, (bo po pierwsze, po próbie wejścia do QC z głównej strony Codegear
wyświetlana jest struktura klas ichniej aplikacji internetowej), bo takie
rzeczy powinni wyłapać Wasi testerzy a nie końcowy użytkownik. To nie jest
funkcjonalność, która ma kilka drobnych błędów, ale funkcjonalność, która
nie działa.
A poza tym, czy ktoś z Grupowiczów korzysta z tej funkcjonalności? Czy są
jeszcze jakieś problemy o których warto wiedzieć?
Pozdrawiam -- Spook.
--
! ._______. Warning: Lucida Console sig! //) !
! || spk || www.spook.freshsite.pl / _ """*!
! ||_____|| spook at op.pl / ' | ""!
! | ___ | tlen: spoko_ws gg:1290136 /. __/"\ '!
! |_|[]_|_| May the SOURCE be with you! \/) \ !
|
|