Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Базарная площадь
  
О разделе

Основная страница

Группы обсуждений


Тематический каталог обсуждений

Архив

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  06:17[Войти] | [Зарегистрироваться]
Обсуждение темы:
Component Pascal и среда разработки BlackBox

Здравствуйте!
Начал изучать новый язык программирования Component Pascal
http://www.oberon.ch/
http://www.inr.ac.ru/~info21/
http://www.uni-vologda.ac.ru/oberon/
Но нигде не нашел рускоязычного сайта, на котором был бы форум посвященный этому языку.
Наверняка среди посетителей этого сайта есть специалисты по языку Component Pascal и среде BlackBox.
А посему, перейду сразу к делу. У меня есть вопрос про сборщик мусора в BlackBox. Может быть кто-нибудь сможет объяснить что нужно сделать чтобы он заработал?
Я имею в виду следующую простейшую тестовую програмку:

MODULE  sgTest003;
IMPORT  StdLog;

PROCEDURE   Проверка*;
  TYPE A = POINTER TO ARRAY 10000000 OF INTEGER;
  VAR a: A;
BEGIN
  StdLog.String(" Создаю "); StdLog.Ln();
  NEW(a);    (* В этом месте я вижу через Windows Task Manager  как BlackBox забрал
память*)
  StdLog.String(" Выхожу из области видимости "); StdLog.Ln();
  a := NIL; (* Я думаю, что сборщик мусора должен активизироваться в этом месте *)
END Do;
(* В этом месте я ожидаю, что BlackBox отдаст память обратно в распоряжение Windows
XP*)

BEGIN
END  sgTest003.
Вызываю процедуру Проверка посредством кликания мышью на
(Коммандер)sgTest003.Проверка
и наблюдаю через Task Manager за памятью. BlackBox ее только забирает и назад не отдает.
Даже если я выгружу модуль Dev ---> Unload, все равно BlackBox не вернет память обратно в распоряжение Windows XP. Память возвращается только когда я выключаю сам BlackBox 1.4 Shareware Edition.
Кто-нибудь понимает в чем дело?

С уважением,

 Сергей Губанов

Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру


Всего в теме 117 сообщений

Добавить свое сообщение

Отслеживать это обсуждение

Обсуждение из раздела
Школа ОБЕРОНА

<<<... | 107—98 | 97—88 | ...>>>
Всего сообщений в теме: 117; страниц: 12; текущая страница: 2


№ 107   22-08-2007 03:40 Ответить на это сообщение Ответить на это сообщение с цитированием
Черепашка в пакете для детей плоская и зелёная. Лапками не шевелит. Это грустно.
Сделайте ей четыре фазы. Я нарисую повеселее в квази-3D.
Как с Альфа-каналами? Прозрачность и полупрозрачность бы.


№ 106   31-07-2006 11:19 Ответить на это сообщение Ответить на это сообщение с цитированием
Выпущена версия 0.5 библиотеки MT:
http://sources.metasystems.ru/mt

В модуле MtMem введены процедуры для работы с динамическими массивами переменной длины (аналог SetLength в Делфи + процедура резервирования памяти) и некоторые другие средства.

Внесены исправления в модуль MtSql и документацию модуля MtSearch.


№ 105   09-07-2006 16:23 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 104« (Илья Ермаков)
___________________________
Выпущена новая версия библиотеки для BlackBox MT 0.4:
http://sources.metasystems.ru/mt/

и первый выпуск Advanced BlackBox Framework:
http://sources.metasystems.ru/abf/
- Open-Source-проекта, цель которого - расширение стандартного каркаса BlackBox дополнительными средствами, такими как работа с мультимедиа, графика, параллельные вычисления, базы данных, перманентные хранилища и т.п.


№ 104   09-06-2006 07:16 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 103« (Андрей Хохлов)
___________________________
Ну, модуль B сначала все-таки надо выгрузить, конечно.
Шрифты настраиваются в Edit->Preferences. Проблем с русским текстом никаких быть не должно, если вы используете наш последний Service Pack 3.1.
А вообще, у меня есть предложение не захламлять эту ветку конкретными вопросами касательно пользования ББ... Если начинаете активно изучать ББ, то лучше уже обсуждать в специализированных ветках на blackbox.metasystems.ru. (да не сочтет уважаемое community за рекламу :-) )


№ 103   09-06-2006 06:45 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 102« (Илья Ермаков)
___________________________

Нет, я пытаюсь его "перекомпилировать и выгрузить" и вижу ошибку. Может из-за перекрытия окон (не помню)?

Кстати, как в русском BB настроить шрифты, а то в консоли русские буквы появляются только после выделения фрагмента и явного назначени шрифта?


№ 102   09-06-2006 06:23 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 101« (Андрей Хохлов)
___________________________
Нет, Андрей, модуль А тоже выгружается свободно. Просто он при первом же обновлении экрана снова будет подгружен в память (диалог-то открыт). Поэтому Вы, видимо, открываете снова Loaded Modules и видите его, из чего делаете неверный вывод, что он не выгружается.


№ 101   09-06-2006 06:08 Ответить на это сообщение Ответить на это сообщение с цитированием
Короткий пример перезагрузки модулей:


MODULE A; (* +диалог с текстовым полем - для просмотра *)
  IMPORT
    Dialog, StdLog;

  TYPE
    T = ARRAY 10 OF CHAR;
    D*= RECORD
      t*: T;
    END;

  VAR
    d*: D;

  PROCEDURE Set*(t: T);
    BEGIN
      d.t:=t;
      Dialog.Update(d);
      StdLog.String(t);
      StdLog.Ln()
    END Set;
  END A.



MODULE B;
  IMPORT
    A;

  PROCEDURE Update*();
    BEGIN
      A.Set("QWERTY")
    END Update;
  END B.

CMD B.Update()


Модуль B можно перекомпилировать и перегружать сколько угодно, а вот модуль A - нет


№ 100   09-06-2006 02:56 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 97« (Trurl)
___________________________

Ответ на »сообщение 95« (Илья Ермаков)
___________________________
А что мы будем делать со ссылками на выгружаемые объекты?

Ищутся и заменяются на новые по тому же принципу, как и при сборке мусора...


№ 99   09-06-2006 02:56 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 98« (Trurl)
___________________________

Ответ на »сообщение 93« (AVC)
___________________________
>>> Если я не ошибаюсь, сборщик мусора не знает о процедурных переменных, а знает только о методах.

Вообще, он и о методах не знает. Но ему можно объяснить.


Ну, я имел в виду, что методы (в О2 и КП) явно перечислены в дескрипторе типа.
Поэтому для усовершенствования сборщика мусора не потребуется модифицировать "рантаймовские" структуры данных.
А вот откуда сборщик мусора извлечет информацию о процедурных переменных?
 AVC


№ 98   09-06-2006 02:47 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 93« (AVC)
___________________________
>>> Если я не ошибаюсь, сборщик мусора не знает о процедурных переменных, а знает только о методах.

Вообще, он и о методах не знает. Но ему можно объяснить.


<<<... | 107—98 | 97—88 | ...>>>
Всего сообщений в теме: 117; страниц: 12; текущая страница: 2


Добавить свое сообщение

Отслеживать это обсуждение

Дополнительная навигация:
Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру
  
Время на сайте: GMT минус 5 часов

Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования