Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамическое создание обьектов в потоке 
:(
    Опции темы
s-r
Дата 29.8.2007, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 19.4.2007

Репутация: нет
Всего: нет



Создан потомок обьекта TThread -> TRain

Код

TMy=class
  end;

procedure TRain.Execute;
var
  my:^TMy;

begin
while not Terminated do
  begin
      new(my);                     // ???
    
  end;
end;


память выделяется, но при закрытии приложени Access violation at address 0000000000...
как решить проблему?


M
Alexeis
Модератор: используйте подсветку кода http://forum.vingrad.ru/index.php?show_typ...howtopic=126445


Это сообщение отредактировал(а) Alexeis - 29.8.2007, 17:28
PM MAIL   Вверх
EvilsInterrupt
Дата 29.8.2007, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: нет
Всего: 9



s-r, А TMy это чей сын? От TObject или просто класс?
PM MAIL WWW ICQ Jabber   Вверх
Alexeis
Дата 29.8.2007, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



Что-то пахнет паскалем smile . В делфи объекты создаются так 

Код

TMy=class

  end;
procedure TRain.Execute;
var
  my : TMy;
begin
while not Terminated do
  begin
      my := TMy.Create  ;                 // ???
    
  end;
end;


Добавлено @ 17:31
EvilsInterrupt, а разве в делфи класс может быть не наследником TObject ?

Это сообщение отредактировал(а) Alexeis - 29.8.2007, 17:31


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
lukas
Дата 29.8.2007, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



объект уже ссылка... а у тебя выходит что ссылка ссылается на другую ссылку, которая ссылается на класс... У любого объекта должен быть конструктор... помимо всего остального... это же не просто ссылка...


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
EvilsInterrupt
Дата 29.8.2007, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: нет
Всего: 9



Цитата

а разве в делфи класс может быть не наследником TObject ?


А почему нет? Что мешает?

Как правило в дельфи-проектах класс создают так:
TMyClass = Class(тута родители или интерфейсы)

или же:

TMyClas2 = class

Что автоматически получаем хотя бы одного папу TObject.

Но есть возможность, создания и не от TObject

Это сообщение отредактировал(а) EvilsInterrupt - 29.8.2007, 19:22
PM MAIL WWW ICQ Jabber   Вверх
MetalFan
Дата 29.8.2007, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 22
Всего: 128



Цитата(EvilsInterrupt @  29.8.2007,  19:00 Найти цитируемый пост)
Но есть возможность, создания и не от TObject

ого! а в CodeGear то и не знают!


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Alexeis
Дата 29.8.2007, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



EvilsInterrupt, ни разу не слышал...


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
EvilsInterrupt
Дата 29.8.2007, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: нет
Всего: 9



Alexeis, может я и туплю, но кажется это:
Код

  TMyClass = object

  end;

оставлено для обратной совместимости.

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

То что RTTI нет , это уже другое! Но класс не от TObject возможен же ?! )))

Это сообщение отредактировал(а) EvilsInterrupt - 29.8.2007, 20:53
PM MAIL WWW ICQ Jabber   Вверх
Sanchezzz
Дата 29.8.2007, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 1
Всего: 60



Код

type
  Tmy:=(TRain)
  procedure Execute;
// ....
end;

procedure TRain.Execute;
var
  my : TMy;
begin
while not Terminated do
  begin
      my := TMy.Create;    
  end;
end;



--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Snowy
Дата 29.8.2007, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 31
Всего: 484



Любой объект в конечном итоге наследуется от TObject.
Любой класс в конечном итоге наследуется от TClass.
TClass является class of TObject. То есть все инстансы класса в итоге наследники TObject.

Что касается данного вопроса - приведённая информация не имеет отношения к проблеме.
Из этого ответ: Недостаточно информации. Проблема не в этом коде. Ошибка в другом месте.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0764 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.