![]() |
#1 |
Участник
|
Всплывающее окно
Очень впечатлило Уведомление при добавлении нового действия, можно ли в Ах сделать всплывающее окошко, чтоб никаких кнопок и само исчезало))?
PS: уже в предвкушении где смогу его использовать ![]() |
|
![]() |
#2 |
Участник
|
Возможно сделать все. Вопрос времени (c) sukhanchik
|
|
![]() |
#3 |
Administrator
|
Гы... уже цитируют
![]()
__________________
Возможно сделать все. Вопрос времени |
|
![]() |
#4 |
Участник
|
типа алертов?
|
|
![]() |
#5 |
Участник
|
Лучше, конечно, использовать стандартные оповещения - тогда пользователь не сможет "не заметить" оповещение - оно будет светится внизу форм, можно будет посмотреть в списке оповещений.
P.S. в принципе показать текущему пользователю всплывающее окошко не так сложно - минут 5 программирования ![]()
__________________
Ivanhoe as is.. |
|
![]() |
#6 |
Участник
|
Цитата:
Сообщение от Ivanhoe
![]() Лучше, конечно, использовать стандартные оповещения - тогда пользователь не сможет "не заметить" оповещение - оно будет светится внизу форм, можно будет посмотреть в списке оповещений.
P.S. в принципе показать текущему пользователю всплывающее окошко не так сложно - минут 5 программирования ![]() 2. Можно поподробнее про не так сложно. Класса такого нет у нас - AX 3.0 SP4. |
|
![]() |
#7 |
Участник
|
Эхх какая у вас версия... оповещения появились тока в 4.0. А так см. сообщение номер два
![]() Для счастливых обладателей AX 2009 пример во вложении.
__________________
Ivanhoe as is.. Последний раз редактировалось Ivanhoe; 23.04.2010 в 10:26. Причина: Добавил вложение. |
|
![]() |
#8 |
Участник
|
Про модальность молчу, так баловство, просто эффект "раскручивания" окна из высоты = 0
X++: Args args = New Args(); int handleForm, mainwin; FormRun FormRun; TreeNode TreeNode; FormStaticTextControl FormSTControl; FormBuildDesign FormDesign; Form Form; int i, rightPointer, topPointer; Binary data = new Binary(32); DLL _winApiDLL = new DLL('user32'); DLLFunction _function = new DLLFunction(_winApiDLL, 'GetWindowRect'); ; //FormRun = classFactory.formRunClass(new Args("Form18")); Form = new Form('EmptyForm'); args.object(form); formRun = classFactory.formRunClass(args); FormDesign = Form.design(); FormDesign.frame(FormFrame::Border); //FormDesign.windowType(FormWindowType::PopUp); FormDesign.colorScheme(2); FormDesign.backgroundColor(WinApi::RGB2int(112, 208, 250)); FormDesign.columns(1); FormRun.init(); _function.returns(ExtTypes::DWord); _function.arg(ExtTypes::DWord, ExtTypes::Pointer); _function.call(infolog.hWnd(), data); rightPointer = data.dWord(8)-4-22; topPointer = data.dWord(12); FormRun.design().width(180); FormRun.design().height(0); FormRun.design().left(rightPointer-180); FormRun.design().top(topPointer); FormSTControl = FormRun.design().addControl(FormControlType::StaticText, "TitleTextForm"); FormSTControl.widthMode(FormWidth::ColumnWidth); FormSTControl.text("Çàãîëîâîê"); FormSTControl.colorScheme(2); FormSTControl.backgroundColor(WinApi::RGB2int(255, 0, 0)); FormSTControl.foregroundColor(WindowsPalette::Desktop); FormRun.run(); FormRun.formOnTop(); topPointer = FormRun.design().topValue(); for (i = 1; i<=200; i++) { FormRun.design().top( FormRun.design().topValue() - 1 ); if (FormRun.design().heightValue() <= 165) FormRun.design().height( FormRun.design().heightValue() + 1 ); sleep(5); } sleep(4000); //FormRun.wait(); FormRun.close(); |
|
![]() |
#9 |
Британский учённый
|
Цитата:
Сообщение от Player1
![]() Очень впечатлило Уведомление при добавлении нового действия, можно ли в Ах сделать всплывающее окошко, чтоб никаких кнопок и само исчезало))?
PS: уже в предвкушении где смогу его использовать ![]() X++: element.setTimeOut('confirm', i * 1000);
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
![]() |
#10 |
Участник
|
Я как то выкладвал библиотечку, в ней были примеры плавающих окон (виртуальная клавиатура). Могу предложить последнюю версию. Посмотрите папку - готовые примеры.
Для работы с принтером ШК (PPLA), необходимы DLL, если кого заинтересует, то могу выложить вместе с описанием. С уважением, Дмитрий. |
|
![]() |
#11 |
Участник
|
А если использовать внешнюю dll с нужной фукцией?
Только вот у меня огромная проблема: допустим нашел dll, с помощью DLL ExportViewer узнал имя нужной функции, а дальше? Как узнать какие типы писать в .args(..., в .returns(... и тем более как вызывать .call(...? Научити ![]() PS: описание dll само собой нигде не найти, никаких guide нет. |
|
![]() |
#12 |
Участник
|
Есть 2 способа подключения dll
1) Обращение к фукнкции dll с описанием параметров, кстати, пример посмотрите в WinApi или в выложеной мной библиотеке DLL _dll = new DLL("GDI32.dll"); DLLFunction _CreateCompatibleBitmap = new DLLFunction _dll, "CreateCompatibleBitmap"); ; _CreateCompatibleBitmap.arg(ExtTypes::DWord, ExtTypes::DWord, ExtTypes::DWord); _CreateCompatibleBitmap.returns(ExtTypes::DWord); return _CreateCompatibleBitmap.call(DC, w, h); 2) net dll, библиотека классов, написанная, например на с# Используя командную строку <path gacutil –I имя.dll> зарегистрируйте dll. Копия dll скопирована системой в asm и будет доступна из Axapta как класс. Для подключения использования в Axapta используйте AOT\references\добавить ссылку - dll должна быть в списке. Выберете ее. С уважением, Дмитрий Последний раз редактировалось Dron AKA andy; 25.05.2012 в 11:51. |
|
![]() |
#13 |
Участник
|
Если Вам ни чего не известно про dll, то попробуйте реассмблировать ее и посмотреть в каждой функции как извлекаются параметры из стека.
С уважением, Дмитрий. |
|
![]() |
#14 |
Участник
|
Интересует 1 вариант, всё это я смотрел и понимаю что делается. Непонятно как узнать что в коде надо писать - передаю 3 параметра типа DWord...и т.д. Как это узнавать если нет документации?
PS: SharedProject_TestJob (81).xpo немогу загрузить, у меня Ах 3 |
|
![]() |
#15 |
Участник
|
Вы не можете определить количество параметров и их тип? Или только не понимаете, как описать тип?
Библиотека делалась в 2009. Но текст то посмотреть можно. C уважением, Дмитрий |
|
![]() |
#16 |
Участник
|
Ну получается ни то ни другое. С чего начать курочить стороннюю библиотеку?))
Кол-во параметров можно конечно перебором узнать, но это как-то не профессионально) |
|
![]() |
#17 |
Участник
|
Я бы сначала попыталься понять, а можно ли ни чего не курочить....
Ну уж если надо... Я не шутил, когда предложил Вам реассемблировать, в голове каждой функции вы могли бы точно увидеть, что извлекается из стека, взависимости от размещения данных понять ссылки это или значения и т.д. Это муторный вопрос.... С уважением, Дмитрий. |
|