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

Вниз

Class u Object   Найти похожие ветки 

 
Random   (2002-05-29 12:58) [0]

В чем разница? Объявляю объект
TTree = object
public
fTop:PTop;
...
Все работает. Заменяю object на class - выдает Access Vialation на строчке
If fTop = nil then ...
Так в чем же разница?


 
MBo   (2002-05-29 13:03) [1]

про разницу см. хелп.
а Access Vialation - наверно, не создал экземпляр


 
Random   (2002-05-29 13:24) [2]

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


 
Alx2   (2002-05-29 13:31) [3]

Как создаешь объект?


 
Random   (2002-05-29 13:36) [4]

Я ж писал в начале
TTree = object
public
fTop:PTop;
...
Работает, а потом слово object заменяю на слово class и ...
Или ты про другое? Далее никак его не создаю, есть лишь конструктор create который заполняет объект записями из файла.


 
NailS   (2002-05-29 13:54) [5]

2 Random
Дык, молодой человек, вы похоже экземпляр класса не создаете ;) и хотите получить доступ к его членам, так у вас не выйдет и Access Violation тому свидетель.
То что у вас прокатывало данное поведение с TObject связано с тем что TObject это (упрощенно говоря) структура (запись) с функциями, насколько я помню.


 
NailS   (2002-05-29 14:14) [6]

Сорри, описался малость:
не TObject а object.


 
Alx2   (2002-05-29 14:44) [7]

>Random (29.05.02 13:36)
Я спрашивал как именно создаешь. Как описываешь (у тебя приведена именно часть описания) - пока пофигу :)


 
Lord Warlock   (2002-05-29 14:52) [8]

если в программе нет такой строчки:

TreeObj:=TTree.Create; //TreeObj - переменная типа TTree

ничего работать не будет

и еще желательно вызывать TreeObj.Free; по завершении пользования этим объектом.

А вообще-то это основы ООП, надо знать.


 
Anatoly Podgoretsky   (2002-05-29 15:03) [9]

Ну даже если ничего и не знаешь, то надо хотя бы приводить более полное описание и пример его использования, с данным объемом тебе можно сказать, только то, что у тебя где то ошибка


 
Alx2   (2002-05-29 15:28) [10]

>TreeObj:=TTree.Create; //TreeObj - переменная типа TTree
По-моему для типов, объявленный с помощью спецификатора "object" это не проходит. Там нет методов класса. Для них ИМХО нужно писать TreeObj.Create(...). И сравнение if TreeObj=Nil не совсем корректно :)


 
Lord Warlock   (2002-05-29 15:36) [11]


> По-моему для типов, объявленный с помощью спецификатора
> "object" это не проходит.


человек хочет класс, я написал для класса


 
NailS   (2002-05-29 15:37) [12]

Для object нет Create, Destroy и создаются они при помощи New, Dispose, ну а сравнивать с nil лучше поинтер на object


 
Alx2   (2002-05-29 15:52) [13]

>Для object нет Create, Destroy
Конструктор и деструктор в object можно хоть горшком обозвать :)
А New и Dispose - для ссылок на объекты. У него объект объявлен статикой. Поэтому просто <ObjectName>.<ConstrucorName>(<parameters>)


 
NailS   (2002-05-29 15:59) [14]

Since object types do not descend from TObject, they provide no built-in constructors, destructors, or other methods. You can create instances of an object type using the New procedure and destroy them with the Dispose procedure, or you can simply declare variables of an object type, just as you would with records.

Object types are supported for backward compatibility only. Their use is not recommended.


 
Alx2   (2002-05-30 10:16) [15]

Сорри, не пользовался ими со времен BP7.0 :)



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

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

Наверх





Память: 0.47 MB
Время: 0.006 c
1-30765
Bosss20000
2002-05-30 17:39
2002.06.10
Использование диалога PasswordDlg


4-31060
heruvim4ik
2002-04-05 07:24
2002.06.10
Как програмно расшарить диск С: (или любой другой)


1-30798
Kaldr
2002-05-31 11:25
2002.06.10
Speedbutton не поднимается


3-30668
wHammer
2002-05-16 16:20
2002.06.10
Сохранение готового отчета QR в формате Excel


1-30900
Роман Мишин
2002-05-30 09:43
2002.06.10
печать шрифтов не установленных в системе





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский