Re[3]: TProgrammer
От: Beta Россия  
Дата: 28.05.03 20:48
Оценка:
Здравствуйте, sercher, Вы писали:

S>Просто этот компонент наверно наследник всех уже существующих компонентов по 3 раза.


Тогда это в билдере... в Паскале нет множественного наследования.

Разьве что так:

TProgrammer = class(TWorker)
Re[4]: TProgrammer
От: Hacker_Delphi Россия  
Дата: 29.05.03 03:40
Оценка:
Здравствуйте, Beta, Вы писали:

B>Здравствуйте, sercher, Вы писали:


S>Просто этот компонент наверно наследник всех уже существующих компонентов по 3 раза.


B>Тогда это в билдере... в Паскале нет множественного наследования.


ну дак и в Билдере нету... для VCL классов
... << RSDN@Home 1.0 beta 7b >>
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))
Re[9]: TProgrammer
От: Sinclair Россия https://github.com/evilguest/
Дата: 29.05.03 04:15
Оценка:
Здравствуйте, UgN, Вы писали:

UgN>Здравствуйте, Sinclair, Вы писали:


S>Ребята! Во-первых, надо сделать код потокобезопасным!

UgN>Откуда еще поток? Жена-то одна...
Кто здесь? А мужа у нее нету што ли? Вот они как лбами-то столкнутся над коробкой!
... << RSDN@Home 1.0 beta 7a >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[10]: TProgrammer
От: free stranger Россия  
Дата: 29.05.03 07:02
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, UgN, Вы писали:


UgN>>Здравствуйте, Sinclair, Вы писали:


S>>Ребята! Во-первых, надо сделать код потокобезопасным!

UgN>>Откуда еще поток? Жена-то одна...
S>Кто здесь? А мужа у нее нету што ли? Вот они как лбами-то столкнутся над коробкой!


Предлагаю ввести в класс жены метод установки симафора присутствия (ну там голосом или еще чем), а в классе муже этот симафор отрабатывать.

void CHusband::GiveMoney()
    {
        sf = Box.Open(){CreateSemaphore(..., "WifeNearBox")}
        CMoney money = Box.GetMoney();
        Box.Close(CloseHandle(sf));
        m_Wife.TakeMoney( money );
    };

    ...

    void CWife::TakeMoney()
    {
        while(Box.Open(){return OpenSemaphore(...,"WifeNearBox") != NULL});
        Box.PutMoney( money );
        Box.Close();
        m_Husband.GiveMoney();
    };


Ну отладить конечно прийдется еще... Но уже вероятность случайного убиения друг друга на бытовой почве, значительно снижается
The darkness around me
Shores of solar sea
Oh how i wish to go down with the sun....
Re[11]: TProgrammer
От: Real 3L0 Россия http://prikhodko.blogspot.com
Дата: 29.05.03 07:51
Оценка:
Здравствуйте, free stranger, Вы писали:
FS>Здравствуйте, Sinclair, Вы писали:
S>>Здравствуйте, UgN, Вы писали:
[skip]

Если так дальше дело пойдет, то мир увидит либо новую программу моделирования жизни живых процессов, либо вообще — AI.
<< RSDN@Home 1.0 beta 6a >>
Вселенная бесконечна как вширь, так и вглубь.
Re[12]: TProgrammer
От: jhfrek Россия  
Дата: 29.05.03 07:52
Оценка:
Здравствуйте, Real 3L0, Вы писали:

R3>Если так дальше дело пойдет, то мир увидит либо новую программу моделирования жизни живых процессов, либо вообще — AI.


Дык — Welcome to MATRIX
Re[11]: TProgrammer
От: Sinclair Россия https://github.com/evilguest/
Дата: 29.05.03 12:35
Оценка: 1 (1)
Здравствуйте, free stranger, Вы писали:
FS>Предлагаю ввести в класс жены метод установки симафора присутствия (ну там голосом или еще чем), а в классе муже этот симафор отрабатывать.
Вопиющее ламерство.
Во-первых, работоспособность всего приложения зависит от корректности реализации класса Жена.
Во-вторых, этот код не обрабатывает исключения, и если при доставании денег что-то пойдет не так, коробка останется залоченной навсегда.
Во-третьих, код несимметричный, и если муж полезет в коробку первым, семафор никак не помешает жене сделать то же самое.
Продолжаем попытки разработать надежный механизм ведения семейного бюджета.
... << RSDN@Home 1.0 beta 7a >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[12]: TProgrammer
От: free stranger Россия  
Дата: 29.05.03 13:20
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, free stranger, Вы писали:

FS>>Предлагаю ввести в класс жены метод установки симафора присутствия (ну там голосом или еще чем), а в классе муже этот симафор отрабатывать.
S>Вопиющее ламерство.
S>Во-первых, работоспособность всего приложения зависит от корректности реализации класса Жена.

Это бесспорно


S>Во-вторых, этот код не обрабатывает исключения, и если при доставании денег что-то пойдет не так, коробка останется залоченной навсегда.

S>Во-третьих, код несимметричный, и если муж полезет в коробку первым, семафор никак не помешает жене сделать то же самое.

Так же естесственно Ведь исходя из анализа жизненных ситуаций, класс жена полезет в коробку даже если класс муж выкине сотню симафоров Поэтому нужно акцентировать требования к задаче на том, чтобы вероятный Exception не убил оба класса (В Живых должен остаться только один )
Возможный вариант рещения, сделать класс box полностью недоступным классу жена, но тогда наличие класса жена становится бессмысленным что не соответствует поставленной задаче. На а если Exception всё же произойдет (а он произойдет обязательно ) то вывалится всё приложение с ErrorLevel "Развод! Как минимум развод! Вот только выйди из больницы и сразу развод!" и залоченность коробки не будет иметь уже никакого значения


S>Продолжаем попытки разработать надежный механизм ведения семейного бюджета.


Ну я же говорил... тестировать надо
Можно конечно для класса жена сделать виртуальные функции BoxOpen и GetMoney, а классу муж динамичски выделять память под объект заначка. Заначку организовать стеком и выделять указатели из стека по LIFO, по мере их неактуальности.
The darkness around me
Shores of solar sea
Oh how i wish to go down with the sun....
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.