Вверх ↑
Этот топик читают: Гость
Ответов: 205
Рейтинг: 3
#1: 2008-02-12 01:19:54 ЛС | профиль | цитата
помогите не могу понять почему не прохотит информация до --- модуля Edit ?
который нахотится.. в ChildForm..
в примере всё понятно...

#sha
Add(MainForm,4788894,28,28)
{
Left=20
Top=105
Width=391
Height=160
}
Add(ChildForm,12726850,84,98)
{
FirstUsage=0
}
BEGIN_SDK
Add(EditMulti,5188197,21,21)
{
WorkCount=1
link(doWork1,8680684:doEvent1,[(35,27)(35,104)])
}
Add(MainForm,10604484,133,63)
{
Left=35
Top=105
Height=87
Point(doShowModal)
}
Add(Hub,8680684,49,98)
{
link(onEvent1,10604484:doShowModal,[(107,104)(107,97)])
link(onEvent2,278848:doText2,[(121,111)(121,146)])
}
Add(Edit,278848,161,133)
{
Left=5
Top=5
Width=385
Height=50
}
END_SDK
Add(Button,16351894,28,98)
{
Left=105
Top=85
Color=-16777211
Caption="Form"
Data=String(1-й текст)
link(onClick,12726850:doWork1,[])
}
Add(Button,15105272,28,154)
{
Top=70
Width=380
Height=60
Font=[Times New Roman,14,0,0,204]
Caption="второй пример"
Data=String(2-й текст)
link(onClick,5679028:doEvent1,[])
}
Add(ChildFormEx,5679028,84,154)
{
Mode=1
}
BEGIN_SDK
Add(EditMultiEx,5288170,21,21)
{
WorkCount=#8:doEvent1|
link(doEvent1,8680684:doEvent1,[(39,27)(39,104)])
}
Add(MainForm,4525416,147,63)
{
Left=35
Top=105
Height=124
Point(doShowModal)
}
Add(Hub,8680684,56,98)
{
link(onEvent1,4525416:doShowModal,[(118,104)(118,97)])
link(onEvent2,278848:doText2,[(118,111)(118,160)])
}
Add(Edit,278848,147,147)
{
Left=5
Top=5
Width=385
Height=60
}
Add(RadioButton,8685342,28,168)
{
Left=5
Top=70
Width=385
}
END_SDK

карма: 1

0
Разработчик
Ответов: 26322
Рейтинг: 2147
#2: 2008-02-12 01:50:53 ЛС | профиль | цитата
millano, потому, что ворая форма имеет Mode=Dynamic. Динамические формы так, как у тебя в схеме, не оформляются. Если форма обычная, то поставь Standard
карма: 22

0
Ответов: 9906
Рейтинг: 351
#3: 2008-02-12 07:10:15 ЛС | профиль | цитата
nesco писал(а):
Динамические формы так, как у тебя в схеме, не оформляются

Оформляются

Просто следует понимать следующее:
  • Событие на doShowModal "освобождается" (т.е. срабатывает следующая точка Hub-а) только после закрытия формы. Поставь туда какой-нибудь Beep - услышишь
  • В случае, если экземпляр контейнера НЕ ВЫБРАН, всякое входное событие срабатывает в режиме OnlyOnce: создается НОВЫЙ экземпляр схемы, вызывается для него событие, по окончании которого (по закрытии формы и установке текста в Edit) эта схема УНИЧТОЖАЕТСЯ напрочь
  • карма: 9

    1
    Голосовали:Валерий
    Разработчик
    Ответов: 26322
    Рейтинг: 2147
    #4: 2008-02-12 10:52:15 ЛС | профиль | цитата
    Galkov, ну ты загнул. И где такое применяется, динамический режим в качестве одноразового? Ну челу-то надо добраться до Edit'a, а значит, по-другому это надо делать, а не так как сделано.
    карма: 22

    0
    Ответов: 9906
    Рейтинг: 351
    #5: 2008-02-12 11:08:43 ЛС | профиль | цитата
    nesco писал(а):
    И где такое применяется

    Глаза-то разуй - все уже нарисовано
    
    #sha
    Add(MainForm,4788894,140,105)
    {
    Left=20
    Top=105
    Width=391
    Height=160
    }
    Add(ChildFormEx,5679028,245,105)
    {
    Mode=1
    }
    BEGIN_SDK
    Add(EditMultiEx,5288170,21,21)
    {
    WorkCount=#8:doEvent1|
    link(doEvent1,4525416:doShowModal,[(99,27)(99,83)])
    }
    Add(MainForm,4525416,112,49)
    {
    Left=135
    Top=105
    Height=124
    Point(doShowModal)
    }
    Add(RadioButton,7192861,56,119)
    {
    Left=100
    Top=70
    Width=95
    }
    Add(Edit,278848,112,119)
    {
    Left=5
    Top=5
    Width=385
    Height=60
    Text="Стартовый текст"
    }
    Add(RadioButton,8685342,56,70)
    {
    Left=5
    Top=70
    Width=95
    Selected=0
    }
    END_SDK
    Add(Button,15105272,189,105)
    {
    Left=70
    Top=20
    Width=230
    Height=60
    Font=[Times New Roman,14,0,0,204]
    Caption="Динамический модал"
    Data=String(2-й текст)
    link(onClick,5679028:doEvent1,[])
    }
    Динамическая модальная форма, которая каждый раз новая, с теми же исходными параметрами.
    Причем, это самый простой способ для реализации такового.
    ------------ Дoбавленo:

    nesco писал(а):
    Ну челу-то надо добраться до Edit'a, а значит, по-другому это надо делать, а не так как сделано

    Что челу надо, он не сказал, это твои домыслы
    Он спросил "почему", на что я и попытался ответить.
    По-другому - множество вариантов, в зависимости от того, что конкретно он хочет.
    Скажет - будем говорить. Не скажет - не будем
    К примеру, я совершенно не исключаю, что поменять местами две точки на Hub-е - он и сам может догадаться

    А вот что "не оформляются", ты сказал совершенно однозначно.
    На что совершенно однозначно и отвечаю: не надо говорить ерунду
    карма: 9

    0
    Ответов: 205
    Рейтинг: 3
    #6: 2008-02-12 11:22:34 ЛС | профиль | цитата
    воть так правельно будет??
    code_8365.txt
    карма: 1

    0
    файлы: 1code_8365.txt [2.1KB] [156]
    Ответов: 9906
    Рейтинг: 351
    #7: 2008-02-12 11:26:56 ЛС | профиль | цитата
    Неправильно: фиг кнопку найдешь
    карма: 9

    0
    Ответов: 205
    Рейтинг: 3
    #8: 2008-02-12 11:29:11 ЛС | профиль | цитата
    просто хочеться выяснить правельно ли так делать закрывать форму и после передовать данные
    или же передовать потом открывать.?
    карма: 1

    0
    Ответов: 9906
    Рейтинг: 351
    #9: 2008-02-12 11:30:03 ЛС | профиль | цитата
    А "правильность" зависит от того, что ты хочешь
    Если это:
    Galkov писал(а):
    Динамическая модальная форма, которая каждый раз новая, с теми же исходными параметрами

    то правильно (в части формы)
    ------------ Дoбавленo:

    Видишь же, что работает...
    карма: 9

    0
    Ответов: 205
    Рейтинг: 3
    #10: 2008-02-12 11:35:17 ЛС | профиль | цитата
    да нужно что бы данные были те что передаються по потоку..!
    карма: 1

    0
    Ответов: 9906
    Рейтинг: 351
    #11: 2008-02-12 12:08:53 ЛС | профиль | цитата
    millano писал(а):
    правельно ли так делать закрывать форму и после передовать данные
    или же передовать потом открывать.?

    Так "открывать" или "закрывать"
    Если речь об окончании работы формы (в смысле "закрывать"), то по-барабану.

    millano, что в какой воследовательности происходит, ты и сам можешь выяснить, поставивши в нужные места для экспериментв нужные Beep-ы.
    
    #sha
    Add(MainForm,5486599,49,147)
    {
    Left=20
    Top=105
    Width=420
    Height=378
    }
    Add(Button,1676681,49,105)
    {
    Left=5
    Top=315
    Caption="Form"
    Data=String(Значения для записи)
    link(onClick,13759032:doEvent1,[])
    }
    Add(StringTable,7836225,161,105)
    {
    Left=5
    Top=5
    Width=400
    Height=300
    FileName="user.cvs"
    Columns=#11:Фамилия=100|6:Имя=95|12:Отчество=100|9:Номер=100|
    Grid=0
    Redaction=1
    StaticColumn=0
    Point(Index)
    Point(doSelect)
    Point(Matrix)
    }
    Add(ChildFormEx,13759032,105,105)
    {
    Mode=1
    link(onEvent2,7836225:doAdd,[])
    }
    BEGIN_SDK
    Add(EditMultiEx,468284,21,21)
    {
    WorkCount=#53:doEvent1=открывает окно и вводит значения в поле edit|
    EventCount=#31:onEvent2=ВЫход данных на запись|
    Width=230
    Height=312
    link(doEvent1,5350162:doEvent1,[(35,27)(35,48)])
    }
    Add(MainForm,8054288,133,28)
    {
    Left=135
    Top=105
    Point(doShowModal)
    }
    Add(FormatStr,1213931,133,280)
    {
    DataCount=4
    Mask="%1;%2;%3;%4"
    link(onFString,1694981:doEvent1,[])
    link(Str1,3351578:Text,[])
    link(Str2,4251950:Text,[])
    link(Str3,15269300:Text,[])
    link(Str4,11846918:Text,[])
    }
    Add(Hub,1694981,182,280)
    {
    OutCount=3
    link(onEvent1,8054288:doClose,[(226,286)(226,88)(121,88)(121,55)])
    link(onEvent2,468284:onEvent2,[(232,293)(232,27)])
    link(onEvent3,146810:doBeep,[])
    }
    Add(Button,6248123,63,280)
    {
    Top=110
    Width=385
    Height=40
    Font=[Times New Roman,20,0,0,204]
    Caption="Записать"
    link(onClick,1213931:doString,[])
    }
    Add(Edit,3351578,133,112)
    {
    Left=75
    Top=10
    Width=295
    Text="Фамилия"
    }
    Add(Edit,4251950,140,147)
    {
    Left=75
    Top=36
    Width=295
    Text="имя"
    }
    Add(Edit,15269300,147,189)
    {
    Left=75
    Top=61
    Width=295
    Text="отчество"
    }
    Add(Edit,11846918,154,231)
    {
    Left=75
    Top=86
    Width=295
    Enabled=1
    Text="номер"
    }
    Add(Hub,5350162,49,42)
    {
    OutCount=4
    link(onEvent1,11846918:doText2,[(108,48)(108,244)])
    link(onEvent2,4830352:doBeep,[(91,55)(91,13)])
    link(onEvent3,8054288:doShowModal,[])
    link(onEvent4,11942899:doBeep,[(90,69)(90,76)])
    }
    Add(Beep,11942899,273,70)
    {
    Duration=500
    }
    Add(Beep,146810,273,294)
    {
    Freq=1900
    Duration=500
    }
    Add(Beep,4830352,273,7)
    {
    Freq=300
    Duration=500
    }
    END_SDK
    Можешь их менять по длительности (чтобы заметить чего происходит раньше), по тональности (чтобы разничать их между собой)
    Все довольно просто для русского человека...
    карма: 9

    1
    Голосовали:Валерий
    Разработчик
    Ответов: 26322
    Рейтинг: 2147
    #12: 2008-02-12 12:50:24 ЛС | профиль | цитата
    Galkov, че ты все усложняешь.

    Чел же ясно написал
    millano писал(а):
    да нужно что бы данные были те что передаються по потоку..!

    Он это еще в начале просил

    Мне кажется, он вот это хотел

    
    
    Add(MainForm,4788894,259,133)
    {
    Left=20
    Top=105
    Width=391
    Height=160
    }
    Add(ChildFormEx,5679028,364,133)
    {
    }
    BEGIN_SDK
    Add(EditMultiEx,5288170,21,21)
    {
    WorkCount=#8:doEvent1|
    link(doEvent1,14177754:doEvent1,[(70,27)(70,83)])
    }
    Add(MainForm,4525416,203,49)
    {
    Left=135
    Top=105
    Height=124
    Visible=1
    Point(doShowModal)
    Point(doVisible)
    }
    Add(RadioButton,7192861,56,119)
    {
    Left=100
    Top=70
    Width=95
    }
    Add(Edit,278848,203,105)
    {
    Left=5
    Top=5
    Width=385
    Height=60
    Text="StartText"
    }
    Add(RadioButton,8685342,56,70)
    {
    Left=5
    Top=70
    Width=95
    Selected=0
    }
    Add(Hub,14177754,119,77)
    {
    link(onEvent1,4525416:doShowModal,[])
    link(onEvent2,278848:doText,[(177,90)(177,111)])
    }
    END_SDK
    Add(Button,15105272,308,133)
    {
    Left=105
    Top=85
    Color=-16777211
    Caption="Form"
    Data=String(Text 2)
    link(onClick,5679028:doEvent1,[])
    }
    карма: 22

    0
    Ответов: 9906
    Рейтинг: 351
    #13: 2008-02-12 13:03:01 ЛС | профиль | цитата
    nesco писал(а):
    че ты все усложняешь

    Я не усложняю, я - Читаю.
    И прочитал вопрос "почему"
    Который, кстати говоря, ценю больше чем "как сделать"

    А вот это тебе "кажется, он вот это хотел"
    И сейчас, думаю, что прочитал правильно

    И почему "Прочитать" - это усложнение, а "Кажется" - это самое простое -- ну никак не пойму
    карма: 9

    0
    Разработчик
    Ответов: 26322
    Рейтинг: 2147
    #14: 2008-02-12 13:07:51 ЛС | профиль | цитата
    Galkov, я одного не пойму -- на кой черт использовать Dynamic в таком режиме когда есть режим OnlyOnce. Зачем усложнять себе жизнь.

    ------------ Дoбавленo:


    Galkov, ну ты буквоед, любишь копаться в мелочах.
    Да, чел в начале спросил -- почему. Ему кучу умных вещей написали, а в результате

    millano писал(а):
    да нужно что бы данные были те что передаються по потоку..!

    А это уже конкретно не почему, а как.

    Ну а на то, что ты ответил на "почему", за это огромное спасибо. Я не знаю как кому, а мне пригодится.
    карма: 22

    1
    Голосовали:Эдик
    Ответов: 205
    Рейтинг: 3
    #15: 2008-02-12 13:42:41 ЛС | профиль | цитата
    Всем огромное спасибо.. очень помогло ...
    карма: 1

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