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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  04:35[Войти] | [Зарегистрироваться]
Обсуждение темы:
Мысли об Обероне

На базарной площади довольно часто можно слышать высказывания об Обероне. Мне кажется, что на базарной площади пора появиться ветке об этой системе и языке, что-то вроде "Мысли об Обероне". Что это такое, перспективы этой системы, что полезного можно извлечь из него для программирования на Дельфи (например) и др.

Ivan

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

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

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


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


Ссылки по теме "Оберон" и "Компонентный паскаль"



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


Смотрите также обсуждения:
Free Pascal, Oberon, BlackBox
  • Разработка препроцессора gpre для delphi\freepascal.
  • Component Pascal и среда разработки BlackBox
  • FreePascal: реальная альтернатива или OpenSource — блажь?

  • <<<... | 1831—1822 | 1821—1812 | 1811—1802 | ...>>>
    Всего сообщений в теме: 4531; страниц: 454; текущая страница: 272


    № 1821   19-01-2005 07:49 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 1819« ()
    ___________________________

    Ответ на »сообщение 1818« (O.Nick)
    ___________________________
    Прелесть! Может лучше сразу Активный Оберон установить? :о)


    AOS или WinAOS?
    -AOS не ставиться :(
    С CD работает, а из раздела нет (сплошные трапы).
    -WinAOS довольно жалкое зрелище.


    № 1820   19-01-2005 07:48 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 1817« (Ирина)
    ___________________________
    >>>Если сборщик мусора сканирует только один стек, то как его можно самостоятельно удалить в других?
    Так дело не в том, чтобы удалить, а чтобы  сохранить. ;-)

    Ответ на »сообщение 1818« (O.Nick)
    ___________________________
    >>> Если BlackBox не расчитан на многопоточность то почему у него все время минимум две нити болтаются?
    Одна - сугубо для того, чтоб Ctrl-Break отлавливать.


    № 1819   19-01-2005 06:55 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 1818« (O.Nick)
    ___________________________
    з.ы. в принципе теперь доступны исходники, может кто и прикрутит многопоточность.
    На уровне среды поддержки исполнения spin-lock-и вводить, исключительные секции кода... Прелесть! Может лучше сразу Активный Оберон установить? :о)
    Сообщение не подписано


    № 1818   19-01-2005 06:45 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 1816« (Trurl)
    ___________________________

    Если BlackBox не расчитан на многопоточность то почему у него все время минимум две нити болтаются?

    з.ы. в принципе теперь доступны исходники, может кто и прикрутит многопоточность.


    № 1817   19-01-2005 02:25 Ответить на это сообщение Ответить на это сообщение с цитированием
    Есть приложение, в котором некоторый объект должен мигать. Достигается это с помощью WinApi.Sleep(1000)  последующим вызовом функции Views.Update(..). Однако при нажатии кнопки мышки и до ее отжатия объекты перестают мигать. Как от этого избавиться?

    To Trurl
    Если сборщик мусора сканирует только один стек, то как его можно самостоятельно удалить в других?


    № 1816   17-01-2005 05:20 Ответить на это сообщение Ответить на это сообщение с цитированием
    На »сообщение 1815«
    Наверное, это? http://progz.ru/forum/viewtopic.php?t=1588

    На »сообщение 1813«, »сообщение 1814«
    Не понял вопроса.

    PS к »сообщение 1814«
    Сборщик мусора  BlackBox сканирует только один стек. Если в других нитях окажутся локальные указатели, они не будут учтены и превратятся  в висячие ссылки. Многопоточность поддерживается в ETH Oberon (Win) и в XDS. В последнем есть кроссплатформенная библиотека.


    № 1815   17-01-2005 02:28 Ответить на это сообщение Ответить на это сообщение с цитированием
    Как в ЧЯ отловить сообщение о закрытии окна, выполняющего программу?


    № 1814   13-01-2005 17:00 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 1813« (Ирина)
    ___________________________

    Ответ на »сообщение 1812« (Trurl)
    ___________________________
    С графикой такая же ситуация?


    Аналогичный вопрос про GDI+
    http://progz.ru/forum/viewtopic.php?t=13019


    № 1813   13-01-2005 16:11 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 1812« (Trurl)
    ___________________________
    С графикой такая же ситуация?


    № 1812   10-01-2005 17:45 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 1811« (Ирина)
    ___________________________

    Главная проблема - не рассчитан BlackBox на многопоточность. Вызовы StdLog легко могут заблокировать оконную подсистему.


    MODULE Test4;
    IMPORT WinApi, SYSTEM, Log:=StdLog;
    CONST MAX_TIMES = 1000;
    VAR
        HANDLE: ARRAY 2 OF WinApi.HANDLE;
        ThreadId: ARRAY 2 OF INTEGER;
        CriticalSection: WinApi.RTL_CRITICAL_SECTION;

        Index: INTEGER;
        Times:  ARRAY MAX_TIMES OF INTEGER;
        TaskNo: ARRAY MAX_TIMES OF INTEGER;

    PROCEDURE FirstThread(IpParameter: INTEGER): INTEGER;
      VAR fDone: BOOLEAN;
      BEGIN
        fDone:=FALSE;
        WHILE ~fDone DO
          WinApi.EnterCriticalSection(CriticalSection);
          IF Index >= MAX_TIMES THEN
            fDone:=TRUE;
          ELSE
            Times[Index]:=WinApi.GetTickCount();
            TaskNo[Index]:=1;
            INC(Index);
          END;
          WinApi.LeaveCriticalSection(CriticalSection);
          WinApi.Sleep(0);
        END;
        WinApi.ExitThread(0);
        RETURN 0;
      END FirstThread;

    PROCEDURE SecondThread(IpParameter: INTEGER): INTEGER;
      VAR fDone: BOOLEAN;
      BEGIN
        fDone:=FALSE;
        WHILE ~fDone DO
          WinApi.EnterCriticalSection(CriticalSection);
          IF Index >= MAX_TIMES THEN
            fDone:=TRUE;
          ELSE
            Times[Index]:=WinApi.GetTickCount();
            TaskNo[Index]:=2;
            INC(Index);
          END;
          WinApi.LeaveCriticalSection(CriticalSection);
          WinApi.Sleep(0);
        END;
        WinApi.ExitThread(0);
        RETURN 0;
      END SecondThread;

    PROCEDURE Main1*;
      VAR a,i: INTEGER;
      BEGIN
        Index:=0;
        WinApi.InitializeCriticalSection(CriticalSection);
        HANDLE[0]:=WinApi.CreateThread(NIL, 0, FirstThread, 0, {}, ThreadId[0]);
        HANDLE[1]:=WinApi.CreateThread(NIL, 0, SecondThread, 0, {},ThreadId[1]);
        a:=WinApi.WaitForMultipleObjects(2, HANDLE[0], 1, WinApi.INFINITE);
        a:=WinApi.CloseHandle(HANDLE[0]);
        a:=WinApi.CloseHandle(HANDLE[1]);
        WinApi.DeleteCriticalSection(CriticalSection);

        Log.String('Tsk Time'); Log.Ln;
        FOR i:= 1 TO Index-1 DO
          Log.Int(TaskNo[i]);
          Log.Int(Times[i]);
          Log.Ln;
        END;
      END Main1;
    END Test4.





    <<<... | 1831—1822 | 1821—1812 | 1811—1802 | ...>>>
    Всего сообщений в теме: 4531; страниц: 454; текущая страница: 272




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

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

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

    Перейти на конкретную страницу по номеру
      
    Время на сайте: 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» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
    Все используемые на сайте торговые марки являются собственностью их производителей.

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