powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблема с cursoradapter-ом
15 сообщений из 15, страница 1 из 1
Проблема с cursoradapter-ом
    #35468282
ОТЭ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добрый день.
пытаюсь разобарться с КА и столкнулся с тем что не заполняется грид на форме.
Код выполняется в ините формы.
автор
set deleted on
set multilocks on
close databases all

gcDRIVER = "{MySQL ODBC 3.51 Driver}"
gcUID = "root"
gcPASSWORD = ""
gcPORT = "3306"
gcSERVER = "localhost"
gcDB = "Tp_losses"

gcODBC = ''+'DRIVER='+gcDRIVER+';UID='+gcUID+';PORT='+gcPORT+';PASSWORD='+gcPASSWORD+';SERVER='+gcSERVER+';DB='+gcDB+''

lnConnection = SQLSTRINGCONNECT(gcODBC)

lo_CA=CREATEOBJECT("CursorAdapter")
lo_CA.Alias="myCursor"
lo_CA.DataSourceType="ODBC"
lo_CA.DataSource=lnConnection
lo_CA.SelectCmd="Select spr_tp.* from spr_tp"
lo_CA.Tables="spr_tp"
lo_CA.KeyFieldList="key_tp"
lo_CA.UpdateNameList="key_tp spr_tp.key_tp,n_tp spr_tp.n_tp"
lo_CA.UpdatableFieldList="key_tp,n_tp"
IF lo_CA.CursorFill()
SELECT ttt
WITH ThisForm.Grid1
.RecordSource = null
.RecordSource = 'myCursor'
ENDWITH
ELSE
=MESSAGEBOX(err)
ENDIF

если после CursorFill() делаю BROWSE то вижу мой заполенный курсор, но когда программа доходит до заполнения RecordSource грида то курсор пропадает и в Data Session нет моего курсора. В итоге открывается форма с чистым гридом и все.
По форуму и в интернете искал ответ, но не смог найти (или плохо смотрел). Подскажите в чем проблемма может быть.
...
Рейтинг: 0 / 0
Проблема с cursoradapter-ом
    #35468444
посмотрите поиском
мои примеры

odbc.zip
...
Рейтинг: 0 / 0
Проблема с cursoradapter-ом
    #35468483
ОТЭ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to: 12345вышелзайчикпогулять.
Ваш пример с ODBC я смотрел, но т.к. я с классами в вфп не работал, то тяжело разобраться с Вашим примером. Думал переделать под себя его, но без понимания работы класса посыпались ошибки, хотел сначала понять как работает КА в обычном виде, без классов.
Думал что самый простой вариант сделать все на форме и таблица на 500 записей всего, в DE я ничего не прописывал.
И заметил что если ставлю Browse в самый конец программы то появляется Курсор и грид заполняется, но после закрытия курсора или переключения фокуса на форму, курсор закрвывается в data session и грид снова очищается.
...
Рейтинг: 0 / 0
Проблема с cursoradapter-ом
    #35468488
А форма, случаем? не с Private DataSession?
...
Рейтинг: 0 / 0
Проблема с cursoradapter-ом
    #35468516
Galyamov Rinat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо lo_CA

Используй ThisForm.lo_CA

У тебя сам адаптер разрушается по окончании инита формы. До визуализации ни
он, ни курсор не доживают


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Проблема с cursoradapter-ом
    #35468537
ОТЭ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to: проходящий.
DataSession формы я не трогал оставил по умолчанию, т.к. что Private не может быть.
...
Рейтинг: 0 / 0
Проблема с cursoradapter-ом
    #35468575
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lo_CA в твоем коде имеет область видимости PRIVATE поэтому автоматически уничтожается в конце выполнения приведенного кода

Сделай его свойством формы.
...
Рейтинг: 0 / 0
Проблема с cursoradapter-ом
    #35468594
ОТЭ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to: Galyamov Rinat
как то я слабо себе представляю что Вы мне предлагаете.
если писать
ThisForm.lo_CA=CREATEOBJECT("CursorAdapter")
то выскакивает ошибка "Property lo_CA is not found (Error 1734)".
если подставляем ThisForm перед lo_CA ниже, после создания обьекта,
то возникает ошика "Unknown member lo_CA (Error 1925)".
так что если можно напишите подробнее, что имеете ввиду.
...
Рейтинг: 0 / 0
Проблема с cursoradapter-ом
    #35468607
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОТЭвыскакивает ошибка "Property lo_CA is not found (Error 1734)".

Прежде чем свойство использовать его добавить надо. Меню "Form" - "New Property..."
...
Рейтинг: 0 / 0
Проблема с cursoradapter-ом
    #35468609
ОТЭ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Dima T:
Спасибо большое дело было в видимости обьекта.
попробовал в ините формы обьявить PUBLIC lo_CA
все заработало
и через свойство/методы, доббавил свойтсво lo_CA паблик, тоже все нормально.

Всем спасибо большое за оказаное внимание и помощь!
...
Рейтинг: 0 / 0
Проблема с cursoradapter-ом
    #35468631
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОТЭпопробовал в ините формы обьявить PUBLIC lo_CA
Такую глупость тебе делать никто не предлагал.
Потом появится вторая форма с PUBLIC lo_CA и ... приехали.

Делай свойство формы.
...
Рейтинг: 0 / 0
Проблема с cursoradapter-ом
    #35468644
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно программно добавить свойство:

Код: plaintext
1.
2.
3.
4.
5.
...
thisform.AddProperty('oCA')
thisform.oCA = CREATEOBJECT("CursorAdapter")
thisform.oCA.Alias="myCursor"
...
...
Рейтинг: 0 / 0
Проблема с cursoradapter-ом
    #35468669
ОТЭ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Dima T:
спасибо за помощь, но если буду добавлять программно thisform.AddProperty('oCA'),
то при создании второй формы с таким же свойствомо oCA, конфликтов не будет?
или для каждой формы будет свое свойство oCA?
...
Рейтинг: 0 / 0
Проблема с cursoradapter-ом
    #35468714
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОТЭto Dima T:
спасибо за помощь, но если буду добавлять программно thisform.AddProperty('oCA'),
то при создании второй формы с таким же свойствомо oCA, конфликтов не будет?
или для каждой формы будет свое свойство oCA?
Для каждой формы будет свое свойство oCA
...
Рейтинг: 0 / 0
Проблема с cursoradapter-ом
    #35468789
Galyamov Rinat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно.

Я очень сильно рекомендую почитать о понятиях класса, свойствах, методах,
наследовании и прочем, что связано с понятием класса.

Так же рекомендую почитать об области видимости переменных (public, local и
private) и применять только те области, которые ДЕЙСТВИТЕЛЬНО необходимы.

PUBLIC переменных должно быть максимум 2-е, хотя лично я использую одну -
объект класса приложения, который хранит в себе все что может понадобиться
ВСЕМУ приложению и с методами доступа и оперирования этими свойствами и саму
бизнесс логику.

Все остальное - свойства и методы конкретных форм.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблема с cursoradapter-ом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]