Jump to content

Запрет ввода букв в uniDateTimePicker


MSMK

Recommended Posts

2 hours ago, Sherzod said:

Здравствуйте!

Может этот пост поможет Вам, попробуйте:

 

 в тестовом проекте работает, а в моем рабочем проекте не работает...

Link to comment
Share on other sites

дописал :

function afterrender(sender, eOpts)
{
   $("#"+sender.inputEl.id).inputmask("99/99/9999",{placeholder:"mm/dd/yyyy"});
   alert('Test');
}

Сообщение Test не отобразилось

Link to comment
Share on other sites

7 minutes ago, Sherzod said:

Я не смог воспроизвести...

Нашли причину из-за которой вылетает ошибка. Во время вызова формы по событию onShow мы выполняем локализацию интерфейса (перевод язык - например русский, казахский), В цикле

 for z := 0 to AForm.ComponentCount - 1 do
        TranslateObjectProperties(AForm.Components[z], LangID);

пробегаемся по всем контроллам и производим замену строк заранее указанных полей :

if (PropInfo^.PropType^.Kind in [tkString, tkLString, tkWString, tkUString]) then
            begin
                if (SameText(PropInfo^.Name, 'Hint')) or
                    (SameText(PropInfo^.Name, 'Caption')) or
                    (SameText(PropInfo^.Name, 'Text')) or
                    (SameText(PropInfo^.Name, 'Description')) or
                    (SameText(PropInfo^.Name, 'LabelCaption')) or
                    (SameText(PropInfo^.Name, 'Title')) or
                    (SameText(PropInfo^.Name, 'Message')) or
                    (SameText(PropInfo^.Name, 'FieldCaption')) or
                    (SameText(PropInfo^.Name, 'HeaderTitle')) or
                    (SameText(PropInfo^.Name, 'EmptyText'))  then
                begin
                    inc(Result);
                    SetLength(PropArray^, Result);
                    PropArray^[Result - 1].PropertyName := PropInfo^.Name;
                    PropArray^[Result - 1].PropertyType := PropInfo^.PropType^.Kind;
                    PropArray^[Result - 1].PropertyValue := GetStrProp(obj, PropInfo^.Name);
                end;
            end;

Производится замена значений в полях и после отображения формы появляется ошибка:

error.png.b6a6a60f0636242a444fdc35c50af1ee.png

Link to comment
Share on other sites

Just now, =GGG= said:

Нашли причину из-за которой вылетает ошибка. Во время вызова формы по событию onShow мы выполняем локализацию интерфейса (перевод язык - например русский, казахский), В цикле

 for z := 0 to AForm.ComponentCount - 1 do
        TranslateObjectProperties(AForm.Components[z], LangID);

пробегаемся по всем контроллам и производим замену строк заранее указанных полей :

if (PropInfo^.PropType^.Kind in [tkString, tkLString, tkWString, tkUString]) then
            begin
                if (SameText(PropInfo^.Name, 'Hint')) or
                    (SameText(PropInfo^.Name, 'Caption')) or
                    (SameText(PropInfo^.Name, 'Text')) or
                    (SameText(PropInfo^.Name, 'Description')) or
                    (SameText(PropInfo^.Name, 'LabelCaption')) or
                    (SameText(PropInfo^.Name, 'Title')) or
                    (SameText(PropInfo^.Name, 'Message')) or
                    (SameText(PropInfo^.Name, 'FieldCaption')) or
                    (SameText(PropInfo^.Name, 'HeaderTitle')) or
                    (SameText(PropInfo^.Name, 'EmptyText'))  then
                begin
                    inc(Result);
                    SetLength(PropArray^, Result);
                    PropArray^[Result - 1].PropertyName := PropInfo^.Name;
                    PropArray^[Result - 1].PropertyType := PropInfo^.PropType^.Kind;
                    PropArray^[Result - 1].PropertyValue := GetStrProp(obj, PropInfo^.Name);
                end;
            end;

Производится замена значений в полях и после отображения формы появляется ошибка:

error.png.b6a6a60f0636242a444fdc35c50af1ee.png

Перенесли локализацию на событие UniFormReady и заработало без ошибок

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...