Вверх ↑
Этот топик читают: Гость
Ответов: 9906
Рейтинг: 351
#16: 2007-03-20 11:54:41 ЛС | профиль | цитата
Сходите в Help и напишите справку на элемент MatrixRW
Примерно в таком стиле (для единообразия):
  • doCompare Производит сравнение первого операнда со вторым. Тип сравнения определяется параметром Type. При выполнении метода (см. !Глоссарий!), последовательно:
    1. читается первый операнд из <Data,Op1,Op1>
    2. читается второй операнд из <Data,Op2,Op2>
    3. производится сравнение операндов
    4. вызывается одно из событий, в соответствии с результатами сравнения
  • Это нарезка из If_else
    Кто мешает-то

    Если про меня, то сейчас конкретно меня беспокоит бага с динамической некорректностью хинтов в Win
    Которая, в отличии от темы данного топика - действительно бага
    карма: 9

    0
    Ответов: 16884
    Рейтинг: 1239
    #17: 2007-03-20 11:57:19 ЛС | профиль | цитата
    и получил еще одно доказательство, что я поиском пользоваться НЕ УМЕЮ и как из 2007-го попасть в 2004-й полная загадка
    карма: 25
    Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
    0
    Ответов: 9906
    Рейтинг: 351
    #18: 2007-03-20 11:59:58 ЛС | профиль | цитата
    Я тоже не умею. И для меня тоже загадка. Просто очень хотелось найти - вот и нашел...

    Dilma, ну видишь же: один год глубины поиска - очень мало порой
    карма: 9

    0
    Разработчик
    Ответов: 26271
    Рейтинг: 2142
    #19: 2007-03-20 14:58:04 ЛС | профиль | цитата
    Galkov, откуда я могу знать, о чем вы писали в 2004 г. Я на сайте с января 2006 г. Я согласен с Tad'ом, что 0, при численном преобразовании. -- значение, а не пустышка. Да, это можно обойти, но это -- неправильно, и правильным никогда не станет. ИМХО
    Я отразил только то, что нашел и не понял, почему так? Не хочешь считать это багом, не считай, это -- твое право.
    карма: 22

    0
    Администрация
    Ответов: 15295
    Рейтинг: 1519
    #20: 2007-03-20 15:18:52 ЛС | профиль | цитата
    nesco писал(а):
    Я отразил только то, что нашел и не понял, почему так? Не хочешь считать это багом, не считай, это -- твое право

    давайте договоримся, что слова
    Galkov писал(а):
    Это так должно быть

    должны пониматься как "Поведение такое, какое и планировалось". Это значит, что баги нет. Под багом обычно понимают поведение чего-либо отличное от того, что планировали разработчики, а не не от того, что хотелось бы пользователю. А вот такое ли поведение должно быть или нет это уже тема отдельного развора.
    карма: 27
    0
    Ответов: 16884
    Рейтинг: 1239
    #21: 2007-03-20 15:24:57 ЛС | профиль | цитата
    Ну и откуда nesco мог знать, что "Это так должно быть" когда столкнулся с проблемой ? Ответили бы сразу так, и небыло бы двух страниц писанины.
    карма: 25
    Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
    0
    Разработчик
    Ответов: 26271
    Рейтинг: 2142
    #22: 2007-03-20 15:31:14 ЛС | профиль | цитата
    Dilma, хочу спросит. Кто-нибудь, когда-нибудь использовал загрузку несуществующей координаты из потока для компонента MatrixRW? Почему нельзя отключить занрузку координат из потока, кто этому мешает, когда уже вот это
    val := ReadData(_Data,_data_Value,@_prop_Value);[/code] первым считывает данные из потока? Кто мешает сделать вот так?
    procedure THIMatrixRW._work_doWrite;
    var
    x,y:integer;
    val,dt:TData;
    m: PMatrix;
    begin
    dtNull(dt);
    m := ReadMatrix(_data_Matrix);
    val := ReadData(_Data,_data_Value,@_prop_Value);
    x := ReadInteger(dt,_data_X,_prop_X);
    y := ReadInteger(dt,_data_Y,_prop_Y);
    if m <> nil then
    M._Set(x,y,val);
    end;
    карма: 22

    0
    Администрация
    Ответов: 15295
    Рейтинг: 1519
    #23: 2007-03-20 15:43:39 ЛС | профиль | цитата
    Tad, вданном случае указанное в рекомендациях требование это:
    code_1101.txt

    и описание к ней ввиде:
    1) вот схема, жму "bug X=0" получаю
    red
    sky
    2) соединяю Value с X, жму "bug X=0" получаю
    red
    yellow

    а теперь вопрос: почему в первом варианте данные беруться из потока, а не из св-ва X элемента MatrixRW?

    Tad писал(а):
    Ответили бы сразу так, и небыло бы двух страниц писанины.

    так ответ и был дан в третьем посте этого топика.

    [size=-2]------ Добавлено в 15:43
    nesco, ничего не понял. Мы про doRead или doWrite говорим?
    карма: 27
    0
    файлы: 1code_1101.txt [1.1KB] [495]
    Разработчик
    Ответов: 26271
    Рейтинг: 2142
    #24: 2007-03-20 15:46:06 ЛС | профиль | цитата
    Dilma писал(а):
    Мы про doRead или doWrite говорим

    а какая разница? Вот для doRead'a
    procedure THIMatrixRW._work_doRead;
    var
    x,y:integer;
    val,dt:TData;
    m:PMatrix;
    begin
    dtNull(dt);
    m := ReadMatrix(_data_Matrix);
    x := ReadInteger(dt,_data_X,_prop_X);
    y := ReadInteger(dt,_data_Y,_prop_Y);
    if m <> nil then
    begin
    val := M._Get(x,y);
    _hi_OnEvent(_event_onRead,val);
    end;
    end;
    Не вижу смысла читать координаты из потока, когда уже _prop_X(_prop_Y) предполагают под собой значения. ИМХО
    карма: 22

    0
    Администрация
    Ответов: 15295
    Рейтинг: 1519
    #25: 2007-03-20 16:11:12 ЛС | профиль | цитата
    nesco, нет так сделать нельзя нигде и никогда. Грамотное решение проблемы это возможность явного указания Default значения для св-ва. Для пакета Delphi к сожалению это достаточно большая проблема поскольку сам кмопнент понятия не имеет о том, дефолтное значение в св-ве или нет(без явной проверки во всяком случае) и потому за дефолт считает 0 или пустую строку. Что в общем случае очевидно не всегда верно.
    Скажем в пакете PHP такой проблемы просто нет, поскольку еще на этапе генерации кода для каждого компонента выясняется откуда брать данные и там подобная задача решилась бы указанием в конфиге вместо нуля, например, -1.
    карма: 27
    0
    Ответов: 9906
    Рейтинг: 351
    #26: 2007-03-20 16:33:02 ЛС | профиль | цитата
    Dilma писал(а):
    давайте договоримся, что слова
    Galkov писал(а):
    Это так должно быть
    должны пониматься как "Поведение такое, какое и планировалось"


    Общая беда писателей. Просто ЧИТАТЬ посты надо.
    Данная фраза может обладать разным смыслом, если ее вырывать из контекста.
    Это просто ответ на вопрос из цитаты - и не надо ее отрывать от нее:
    Galkov писал(а):
    nesco писал(а):
    Это так и должно быть при нулевых значениях координат в свойствах (при ненулевых -- не наблюдается) или не должно быть?

    Это так должно быть.


    [size=-2]------ Добавлено в 16:33
    nesco писал(а):
    Кто-нибудь, когда-нибудь использовал загрузку несуществующей координаты из потока для компонента MatrixRW?

    Да.
    И в example - тоже
    карма: 9

    0
    Разработчик
    Ответов: 26271
    Рейтинг: 2142
    #27: 2007-03-20 17:22:37 ЛС | профиль | цитата
    Dilma писал(а):
    нет так сделать нельзя нигде и никогда. Грамотное решение проблемы это возможность явного указания Default значения для св-ва. Для пакета Delphi к сожалению это достаточно большая проблема поскольку сам кмопнент понятия не имеет о том, дефолтное значение в св-ве или нет(без явной проверки во всяком случае) и потому за дефолт считает 0 или пустую строку

    В примере я закрыл данные из потока, заставляя метод ReadInteger читать данные дальше по цепочке и действовал в соответствии с описанием. Весь дальнейший алгоритм не поменялся.
    Но так как
    Galkov писал(а):
    ------ Добавлено в 16:33
    nesco писал(а):
    Кто-нибудь, когда-нибудь использовал загрузку несуществующей координаты из потока для компонента MatrixRW?
    Да.
    И в example - тоже
    то предложенный метод не пойдет. Ну что ж, пусть будет "как есть".
    карма: 22

    0
    27
    Сообщение
    ...
    Прикрепленные файлы
    (файлы не залиты)