Всем доброго времени суток!
Пытаюсь сделать синюю форму! Что-то совсем совсем не получается! (Хотя когда-то давно работало, вообще разобраться не могу).
Начну сразу с кода:
Код
Function RunTest1()
RETURN RunForm('project\unit1',.T.,{},nil)
Итак:
1. У нас в файле (Папка с БД) Man_2011_\userbdll.txt Имеется запись:
Финансы\Расчеты с партнерами;zzzzz;RunTest1;PartFin;0
2. Создан проект в папке "Расчеты с партнерами". Имя проекта (в свойствах) - project.bpr. Все файлы проекта лежат в этой папке workspace.bws, unit1.prg, project.bpr, unit.prg! (Надо ещё додуматься как их туда положить. Первый раз не так просто :) )
3. В файле unit.prg, что соответсвует меню "Программы" в дизайнере приложений имеется вышеупомянутый код, приведу еще раз:
Код
Function RunTest1()
RETURN RunForm('project\unit1',.T.,{},nil)
4. Имеется форма unit1.prg в разделе Форма дизайнера приложений. Форма просто пустая. На ней ничего нет.
Внимание вопрос! Почему при входе в меню zzzzz я получаю ошибку (картинка ниже) :
Код
C:\Program Files\BEST\BEST5_34\Client\Bin\projects\Расчеты с партнерами\unit.prg:RUNTEST1(2);RUNTEST1(0)l
SunSystem:BASE Code: 1001 Неизвестная функция
#include "hbclass.ch"
#include "BO_Const.ch"
class UNIT1 from UNIT1Base
endclass
В код формы. (подсмотрел в пример и в файл unit1base.prg)
2. Добавил кнопку
Код
#include "hbclass.ch"
#include "BO_Const.ch"
class UNIT1 from UNIT1Base
METHOD bButton1_Click
endclass
METHOD bButton1_Click(Sender) class unit1
::Destroy()
RETURN .T.
3. Добавил 2 синие формы в меню Б-5 (форма в Example1.bdll работала, свою форму делал по ней)
Финансы\Расчеты с партнерами;zzzzz;RunTest;MY;0
Финансы\Расчеты с партнерами;xxxxx;RunFormTest;Example1;0
После этого что-то начало работать! Но с 2мя синими формами в обеих меню Открывается ОДНА И ТА ЖЕ форма:)!!!. Или одна открывается, а вторая нет. В общем не работает так, как должно? Или так и должно?
Сейчас почему-то выше описанный пример работает. С кнопочкой нарисованной. Правда при условии, что в Б-5 есть только одна синяя форма (на конце "0" в файле userbdll.txt)
Для применения изменений не забывайте "передергивать" базу, т.е. либо выйти из программы и зайти вновь, либо сменить предприятие.
Тогда обновленная библиотека загрузится и процесс отладки пойдет намного проще
Убираете пункт из меню userbdll.txt
И тогда компилируете при открытом БЭСТе, только выходите непосредственно из реестра в котором привязан hrb файл.
Дальше помним о том, что RUNFROM работает только в новых окнах.
А такие функции как Diaolg,InitList только в старых - это чтобы понимать где функции видны, а где видны не будут.
И тогда компилируете при открытом БЭСТе, только выходите непосредственно из реестра в котором привязан hrb файл.
Дальше помним о том, что RUNFROM работает только в новых окнах.
А такие функции как Diaolg,InitList только в старых - это чтобы понимать где функции видны, а где видны не будут.
Я новое окно и пытаюсь написать . Старые надоели В старых пользователи отказываются работать :(
(Со старыми окнами никаких проблем при использовании userbdll.txt, всё работает, проблемы только с новыми!!!)
Т.е. с новым окном без userbdll.txt не обойтись. Так ведь?
nordk пишет:
Новые окна тоже можно через HRB запускать.
Смотря из какого режима Вы это делать пытаетесь
Предположим, есть свое "старое" окно, которое вызывается по отдельному меню "Моё окно" (userbdll.txt : Финансы\Расчеты с партнерами;Моё окно;RunTest;MYG;1)
Отсюда можно его вызвать? Или только спецфункциями из стандартных меню Б-5 старого типа?
Но ! Спецфукнциями можно перекомпилировать не выгружая БЭСТ при отладке
Замечательно!!! Подскажите как! А то надоело уже, то userbdll.txt править, то организацию постоянно перевыбирать!!!
И еще ! Начал рисовать синее окошко. (Смотрел уроки 5,6,7 - за них спасибо отдельно!!! )
На форме BO, DS, DataSource1, уже и класс для таблички нужной описан и грид уже на форме тоже висит. Все работает, всё открывается. (таблица ap_reg.dbf)
НО. Когда в гриде меняю ширину столбцов данные не обновляются :(
Т.е. изначально ширина столба у меня 220 пикселей для поля Партнер, и если есть партнер "шире" 220 пикселей, то когда меняю ширину столба уже пр и работе в Бесте, то данные обрубаются/не выводится полностью - Как исправить!!!? (Надеюсь, понятен).
Элемент xbGrid.
1. Как задать ширину колонки (ок)!!!?
2. Как сделать автообновление содержимого колонки при изменении ее ширины, когда пользователь в ней работает?
Саак начните с того, чтобы колонки были не прописаны в форме а создавались программно.
Я подозреваю, что колонки прописанные в форме статически уже не меняются
а вообще у себя в программе мы управляем колонками примерно так
А мой код у вас и не пойдет
Я же вытащил его из задачи где данные хранятся в некоей базе, эта база открывается и непосредственно в DS по ней пробегает курсор читает в цикле значения из полей "width" и подставляет их для определения ширины колонки.
Вам то такого не надо - надо в правой части просто значение прописать
Константин, да я не для себя. Для сообщества в качестве обмена опытом и пропаганды :happiness: .
аааааааа
Семен Семеныч...
Все равно надо ролик снимать небольшой.
Давай я тебе показывать буду а ты это дело с копии экрана писать :surprise: :lol:
Минут на 5-10