Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.07.13;
Скачать: [xml.tar.bz2];

Вниз

Интерфейсы   Найти похожие ветки 

 
rena ©   (2008-06-07 23:48) [0]

Здравствуйте! У меня прога выдает такую ошибку:
[Pascal Error] Unit8.pas(70): E2003 Undeclared identifier: "otobZvezdi"
[Pascal Error] Unit8.pas(70): E2003 Undeclared identifier: "otobLinii"
[Pascal Error] Unit8.pas(70): E2003 Undeclared identifier: "SimpleSort"
[Pascal Error] Unit8.pas(70): E2003 Undeclared identifier: "SliyanieSort"
[Pascal Error] Unit8.pas(70): E2003 Undeclared identifier: "zapRaspr"
[Pascal Error] Unit8.pas(70): E2003 Undeclared identifier: "zapRandom"

Сам код:
I_Int1=interface(IUnknown)
["{5EECAA37-C3AA-4C1A-B073-F231EB6653BE}"]
//Реализует способы заполнения
   procedure zapAddit;
   procedure zapRaspr;
   procedure zapRandom;
 end;

I_Int2=interface(IUnknown)
["{D943F47C-3E94-4509-9740-72A2E2EF0F67}"]
//Реализует способы сортировки
   procedure Qsort(var a: array of Sortmas; iLo, iHi: Integer);
   procedure QuicklySort;
   procedure SimpleSort;
   procedure SliyanieSort;
 end;

I_Int3=interface(IUnknown)
["{43C926DD-1670-498A-BFF2-16A0A3A4FC9F}"]
//Реализует способы отображения
   procedure otobMozaika;
   procedure otobZvezdi;
   procedure otobLinii;
 end;

TClass1=class(TInterfacedObject,I_Int1,I_Int2,I_Int3)
    a:array of Sortmas;
 //Сортировка выбором
   constructor Create;
   procedure ZapAddit;
   procedure QSort(var a: array of Sortmas; iLo, iHi: Integer);
   procedure QuicklySort;
   procedure otobMozaika;
 end;

TClass3=class(TInterfacedObject,I_Int1,I_Int2,I_Int3)
   a:array of Sortmas;
 //Быстрая сортировка
   constructor Create;
   procedure zapRaspr;
   procedure SimpleSort;
   procedure otobZvezdi;
 end;

TClass2=class(TInterfacedObject,I_Int1,I_Int2,I_Int3)
   a:array of Sortmas;
 //Сортировка слиянием
   constructor Create;
   procedure zapRandom;
   procedure Sort(x:array of sortmas;first,last:integer);
   procedure SliyanieSort;
   procedure SortS(var x: array of sortmas; first, middle, last: integer);
   procedure otobLinii;
 end;

Все методы описаны (нахожу метод в описании КЛАССА, нажимаю Ctrl+Shift+C и описываю)
Почему-то с первым классом работает, с остальными делаю то же самое, но уже не работает..


 
Amoeba ©   (2008-06-08 00:15) [1]


> Здравствуйте! У меня прога выдает такую ошибку:
> [Pascal Error] Unit8.pas(70): E2003 Undeclared identifier:
>  "otobZvezdi"
> [Pascal Error] Unit8.pas(70): E2003 Undeclared identifier:
>  "otobLinii"
> [Pascal Error] Unit8.pas(70): E2003 Undeclared identifier:
>  "SimpleSort"
> [Pascal Error] Unit8.pas(70): E2003 Undeclared identifier:
>  "SliyanieSort"
> [Pascal Error] Unit8.pas(70): E2003 Undeclared identifier:
>  "zapRaspr"
> [Pascal Error] Unit8.pas(70): E2003 Undeclared identifier:
>  "zapRandom"


Так возьми и добавь в модуле Unit8 в Uses: otobZvezdi, otobLinii, SimpleSort, SliyanieSort,
zapRaspr, zapRandom
Ведь все ясно и прозрачно, как божий день. И компилятор тебе уже все прокричал. Или "чукча не читатель, чукча писатель"?


 
rena ©   (2008-06-08 00:38) [2]

?? зачем в модуль добавлять процедуры, объявленные в том же модуле?


 
rena ©   (2008-06-08 00:45) [3]

Все эти методы описаны далее в самом модуле

> Все методы описаны (нахожу метод в описании КЛАССА, нажимаю
> Ctrl+Shift+C и описываю)

т.е это не отдельные модули, а просто процедуры..
тем более, впервые слышу, чтобы в uses можно было названия процедур писать..


 
Amoeba ©   (2008-06-08 00:56) [4]


> тем более, впервые слышу, чтобы в uses можно было названия
> процедур писать..
>

Sorry, оказывается это названия процедур...

> Все эти методы описаны далее в самом модуле

В таком случае строку 70 модуля  Unit8 на бочку!


 
rena ©   (2008-06-08 01:15) [5]

TClass1=class(TInterfacedObject,I_Int1,I_Int2,I_Int3)
    a:array of Sortmas;
 //Сортировка выбором
   constructor Create;
   procedure ZapAddit;
   procedure QSort(var a: array of Sortmas; iLo, iHi: Integer);
   procedure QuicklySort;
   procedure otobMozaika;
 end;

строка "  end; " -это и есть строка 70, я не пойму в чем тут дело..


 
rena ©   (2008-06-08 01:41) [6]

методом проб и ошибок поняла, что он вроде как  видит только первый класс, который прямо после интерфейсов описываешь, а последующие за ним, хотя ничем не отличаются, не видит..почему так?


 
Ляпа   (2008-06-08 14:48) [7]


> rena ©   (08.06.08 01:41) [6]

Класс должен реализовывать все методы интерфейса.


 
zensan ©   (2008-06-11 15:19) [8]

Чтобы этого не делать можно ещё и так например

TClass1=class(TInterfacedObject,I_Int1,I_Int2,I_Int3)
   a:array of Sortmas;
  constructor Create;
  procedure ZapAddit;
  procedure QSort(var a: array of Sortmas; iLo, iHi: Integer);
  procedure QuicklySort;
public
  ...
  property Int1: TInt1 read FInt1 implements I_Int1;
  property Int2: TInt2 read FInt2 implements I_Int2;

end;


В конструкторе не забудь создать а в деструкторе разрупить классовые переменные.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.07.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.007 c
15-1211914217
Nic
2008-05-27 22:50
2008.07.13
Выбор ноутбука Часть 2


15-1211675216
MerCus
2008-05-25 04:26
2008.07.13
TCHARTFX


15-1211877821
Хохол
2008-05-27 12:43
2008.07.13
Как получить размер памяти занимаемый объектом?


15-1211959111
guav
2008-05-28 11:18
2008.07.13
Интересная пропозиция для С++, в Delphi тоже такое надо


2-1213494964
DJ_UZer
2008-06-15 05:56
2008.07.13
SynEdit добавление текста





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский