Procedury przeciążone a wady kompilatora Delphi 2007

0

Witam.

Pytanie
Nie wiem jak to jest w innych wersjach Delphi ale mam taka drzazgę, która mi utrudnia kodzenie.
Było super jak były 2-3 moduły z różnymi typami a w nich (obrazowo dla uproszczenia):

Czysc(var ATyp1: Typ1);overload;
Czysc(var AListaDynamiczna: Typ2);overload;
Kopiuj(var ATyp1: Typ1);overload;
Kopiuj(var AListaDynamiczna: Typ2);overload;
...

Wygodne to bo nie musze pisać Typ1Czysc(..) tylko Czysc(..)
Ale jak się zrobiło naście modułów i w każdym naście procedur po kilka przeciążonych dla każdego z rodzajów: Dodaj, Usun, Wytnij, Szukaj, Porownaj ... to pojawił się problem z kompilatorem.
Mianowicie przy kliknięciu PM gdzieś w ciele programu gdzie wywołuje procedurę z parametrami, nie przenosi mnie często do kodu procedury w odpowiednim module ale gdzieś na koniec a czasem nawet nie przenosi mnie do odpowiedniego modułu.
Np. hipotetycznie dodaję bitmapę to dynamicznej listy bitmap, chce sprawdzić co jest w procedurze, PM, Find Declaration i ląduje w zupełnie niewłasciwym module obsługującym rekordy a np z operacjami na String.

Czy macie podobne spostrzeżenia i czy ktoś sobie poradził bez zmiany kompilatora? Będę wdzięczny za sugestie.

Oczywiście dodam, że to się dzieje w momencie gdy wszystko się ładnie kompiluje i działa jak trzeba. Tylko z samą obsługą edytora jest dramat.

1

Ta wada ciągnie się jeszcze od Delphi 5, niestety.

1

To raczej standard jeżeli chodzi o Delphi. W XE2 też tak jest (nie wiem jak w nowszych). Ja w takich sytuacjach używam dodatku CnPack. Będąc w odpowiednim unicie dajesz <CTRL> + D, wpisujesz fragment nazwy typu/funkcji/metody, wybierasz odpowiednią i Cię przenosi (zawsze trafia). Listę unitów w projekcie wyświetlasz poprzez <CTRL> + F12. Może i naokoło, ale idzie się przyzwyczaić ;]

0

jakoś sobie radzę, wyszukiwanie i inne .. myślałem że przegiąłem z ilością przeciążeń. Co dziwne nawet w klasach przeciążenia "przeskoki"... ale skoro to standard... dzięki za odzew. Doczytam o "CnPack".

1

Posortuj funkcje i procedury w kolejności takiej jak masz zadeklarowane w sekcji "type".

0

Ok. Może to coś pomoże, chociaż w większości przypadków może być ciężko. Większość funkcji opiera się na więcej niż jednym typie i do tego typy są zupełnie w innych modułach niż funkcje je obsługujące, mało tego są deklaracje

type
var
procedury
...
type
var
procedury
...

ale może jakiś porządek uda się wprowadzić.

1 użytkowników online, w tym zalogowanych: 0, gości: 1