02.08.2005, 07:32 | #1 |
Участник
|
как обратиться в классе к тек.записи?
подскажите, пожалуйста, как передать текущую запись(где подсветка) в класс? То есть как в классе обратиться именно к текущей записи? Заранее спасибо.
|
|
02.08.2005, 07:58 | #2 |
Участник
|
Можно передать в класс строчку 2 путями (может кто знает больше и проще )
1) к примеру на методе cliced кнопки: class MyClass = new class(Table); ; MyClass.run(); ... // соответственно в классе перекрываем метод new void new(Table _Table) { ; Table = _Table; } 2) с помощью кнопки меню: создаём меню Action; создаём кнопу MenueItemButton Указываем параметры: DataSource = predTable. |
|
02.08.2005, 08:12 | #3 |
Участник
|
мне нужно не по кнопке, вот перевел пользователь курсор с записи на запись, в этот момент в коде обращаемся к классу, и там обрабатываем выбранную запись. первым вариантом, видимо, да? Только надо метод выбрать правильный на датасурсе формы, active, например...да?
|
|
02.08.2005, 08:16 | #4 |
Участник
|
Цитата:
Изначально опубликовано sev
Только надо метод выбрать правильный на датасурсе формы, active, например...да? |
|
02.08.2005, 08:19 | #5 |
Участник
|
спасибо. А вообще, я без new просто обращаюсь к методам класса(не статическим) - и всё работает...А здесь именно new нужно?
|
|
02.08.2005, 08:22 | #6 |
Участник
|
Цитата:
Изначально опубликовано sev
спасибо. А вообще, я без new просто обращаюсь к методам класса(не статическим) - и всё работает...А здесь именно new нужно? |
|
02.08.2005, 08:38 | #7 |
Участник
|
чего-то все равно не то...не передается... В какой момент у меня переменная table получает значение курсора(подсветки)? Как вот мне в коде значение этих полей получить?
|
|
02.08.2005, 08:56 | #8 |
Участник
|
Если вы пользуетаесь Active, то курсор уже стоит на новой записи, если CursorNotify то после вызова super();
public void cursorNotify(int _event) { super(_event); MyClass.Method(Table); } |
|
02.08.2005, 09:10 | #9 |
Участник
|
Попробовал сам:
public int active() { int ret; Proverka Proverka = new Proverka(); ; Proverka.classInfo(Table1); ret = super(); Return ret; } метод в классе: void classInfo(Table1 _Table1) { ; info(_Table1.TestId); } работает нормально. |
|
02.08.2005, 09:14 | #10 |
Участник
|
да, спасибо, и своим, и вашим вариантом всё работает...Моя ошибка была в том, что я передавал не название датасурса, а название таблицы -в моем случае это разные названия...
|
|
02.08.2005, 09:21 | #11 |
Участник
|
|
|
02.08.2005, 09:57 | #12 |
Участник
|
а теперь наоборот - я в классе объявил переменную Table table; заполнил ее текущей записью. Как теперь мне эту запись передать в форму?
|
|
02.08.2005, 10:03 | #13 |
Участник
|
можно сделать сл. образом:
вызов из форы str s; ; s = MyClass.method1(Table); // тело класса str method1(Table _table) { str s; ; // do ... s = 'string'; return s; } |
|
02.08.2005, 10:11 | #14 |
Участник
|
кто-нить дайте ему учебник!
|
|
02.08.2005, 10:15 | #15 |
Moderator
|
Красиво было бы написать метод-свойство класса
PHP код:
|
|
02.08.2005, 10:24 | #16 |
Участник
|
Да не спорю. Намного красивее и понятнее. Только, к сожалению на красоту остаётся не так много времени
|
|
02.08.2005, 10:26 | #17 |
программист
|
Стажеры... Новая волна... Вэлкам.
|
|
02.08.2005, 10:30 | #18 |
Участник
|
спасибо... Суть вот в чем. Я объявляю в ClassDeclaraion класса переменную Table table; заполняю ее в одном методе класса, а возвращаю в другом. Так вот в этом другом она нулевая. то есть не подхватывает из другого метода, хотя она и объявлена в ClassDeclaration. Прошу прощения, что спрашиваю прописные истины )
|
|
02.08.2005, 10:34 | #19 |
Moderator
|
Таблица времененная? (Temporary == true)
|
|
02.08.2005, 10:38 | #20 |
Участник
|
нет, не временная
|
|
|
|