powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вылетает FOX
4 сообщений из 4, страница 1 из 1
Вылетает FOX
    #34331276
faustt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.. Проблема есть, вылетает FoxPro..=(
В общем идея такая, что на форме в ините я сначала делаю таблицу (курсор), потом грид привязываю к таблице.. В общем вот инит:


Lparameters kto_vyzval
Create Cursor zapros ;
(Tabula C(30), Lauks C(30), Kriteria C(2), Filtrs C(50), Kriteria5 C(2), OR5 C(50), Kriteria6 C(2), OR6 C(50), Kriteria7 C(2), ;
OR7 C(50), Kriteria8 C(2), OR8 C(50), Kriteria9 C(2), OR9 C(50), Kriteria10 C(2), OR10 C(50), Kriteria11 C(2), OR11 C(50), Kriteria12 C(2), ;
OR12 C(50), Kriteria13 C(2), OR13 C(50), Kriteria14 C(2), OR14 C(50), Kriteria15 C(2), OR15 C(50), Kriteria16 C(2), OR16 C(50), Kriteria17 C(2), ;
OR17 C(50), Kriteria18 C(2), OR18 C(50), Kriteria19 C(2), OR19 C(50), Kriteria20 C(2), OR20 C(50))

Select zapros

Thisform.pageframe1.page1.meklet.ColumnCount=6
Thisform.pageframe1.page1.meklet.RecordSource='zapros'

Thisform.pageframe1.page1.meklet.column1.ControlSource='zapros.tabula'
Thisform.pageframe1.page1.meklet.column1.AddObject("Combo1","COMBOBOX")
With Thisform.pageframe1.page1.meklet.column1.Combo1
.Width = 120
.RowSourceType = 0
.ColumnCount = 1
.RowSource=""
.Style = 2
.Visible = .T.
Endwith
Thisform.pageframe1.page1.meklet.column1.CurrentControl='combo1'
Thisform.pageframe1.page1.meklet.column1.Sparse=.F.
Thisform.pageframe1.page1.meklet.column1.header1.Caption="Tabula"
Thisform.pageframe1.page1.meklet.column1.Width=130


Thisform.pageframe1.page1.meklet.column2.ControlSource='zapros.lauks'
Thisform.pageframe1.page1.meklet.column2.AddObject("Combo1","COMBOBOX")
With Thisform.pageframe1.page1.meklet.column2.Combo1
.Width = 120
.RowSourceType = 0 && Collection
.ColumnCount = 1
.RowSource=""
.Style = 2
.Visible = .T.
Endwith
Thisform.pageframe1.page1.meklet.column2.CurrentControl='combo1'
Thisform.pageframe1.page1.meklet.column2.Sparse=.F.
Thisform.pageframe1.page1.meklet.column2.header1.Caption="Lauks"
Thisform.pageframe1.page1.meklet.column2.Width=160

Thisform.pageframe1.page1.meklet.column3.ControlSource='zapros.kriteria'
Thisform.pageframe1.page1.meklet.column3.AddObject("Combo1","COMBOBOX")
With Thisform.pageframe1.page1.meklet.column3.Combo1
.Width = 40
.RowSourceType = 0
.ColumnCount = 1
.RowSource=""
.Style = 2
.Visible = .T.
Endwith
Thisform.pageframe1.page1.meklet.column3.CurrentControl='combo1'
Thisform.pageframe1.page1.meklet.column3.Sparse=.F.
Thisform.pageframe1.page1.meklet.column3.header1.Caption=""
Thisform.pageframe1.page1.meklet.column3.Width=40
Thisform.pageframe1.page1.meklet.column3.Combo1.AddItem('=')
Thisform.pageframe1.page1.meklet.column3.Combo1.AddItem('>')
Thisform.pageframe1.page1.meklet.column3.Combo1.AddItem('<')
Thisform.pageframe1.page1.meklet.column3.Combo1.AddItem('<>')
Thisform.pageframe1.page1.meklet.column3.Combo1.AddItem('<=')
Thisform.pageframe1.page1.meklet.column3.Combo1.AddItem('>=')


Thisform.pageframe1.page1.meklet.column4.ControlSource='zapros.filtrs'
Thisform.pageframe1.page1.meklet.column4.header1.Caption="Filtrs"
Thisform.pageframe1.page1.meklet.column4.Width=210

Thisform.pageframe1.page1.meklet.column5.ControlSource='zapros.kriteria5'
Thisform.pageframe1.page1.meklet.column5.AddObject("Combo1","COMBOBOX")
With Thisform.pageframe1.page1.meklet.column5.Combo1
.Width = 40
.RowSourceType = 0
.ColumnCount = 1
.RowSource=""
.Style = 2
.Visible = .T.
Endwith
Thisform.pageframe1.page1.meklet.column5.CurrentControl='combo1'
Thisform.pageframe1.page1.meklet.column5.Sparse=.F.
Thisform.pageframe1.page1.meklet.column5.header1.Caption=""
Thisform.pageframe1.page1.meklet.column5.Width=40
Thisform.pageframe1.page1.meklet.column5.Combo1.AddItem('=')
Thisform.pageframe1.page1.meklet.column5.Combo1.AddItem('>')
Thisform.pageframe1.page1.meklet.column5.Combo1.AddItem('<')
Thisform.pageframe1.page1.meklet.column5.Combo1.AddItem('<>')
Thisform.pageframe1.page1.meklet.column5.Combo1.AddItem('<=')
Thisform.pageframe1.page1.meklet.column5.Combo1.AddItem('>=')


Thisform.pageframe1.page1.meklet.column6.ControlSource='zapros.or5'
Thisform.pageframe1.page1.meklet.column6.header1.Caption="OR..."
Thisform.pageframe1.page1.meklet.column6.Width=210

После этого, у меня получается в гриде 6 столбцов которые нормально работают. Мне нужно при изменении последнего столбца, добавлять еще 2, поэтому я пишу на BerforeRowColChange:

Lparameters nColIndex
If (nColIndex=This.ColumnCount)
source=this.Columns(this.ColumnCount).controlsource
dot=AT('or',source)
s=RIGHT(source, LEN(source)-(dot+1))
d=VAL(s)+1
If (d<10)
N=1
Else
N=2
ENDIF


nam = 'kriteria' + Str(d,N)
c_s="zapros." + (nam)
co=this.ColumnCount+2
This.ColumnCount=co
This.Columns(co-1).ControlSource=c_s
This.Columns(co-1).AddObject("Combo1","COMBOBOX")
With This.Columns(co-1).Combo1
.Width = 40
.RowSourceType = 0
.ColumnCount = 1
.RowSource=""
.Style = 2
.Visible = .T.
Endwith
This.Columns(co-1).CurrentControl='combo1'
This.Columns(co-1).Sparse=.F.
This.Columns(co-1).Width=160
This.Columns(co-1).header1.Caption=""
This.Columns(co-1).Width=40
This.Columns(co-1).Combo1.AddItem('=')
This.Columns(co-1).Combo1.AddItem('>')
This.Columns(co-1).Combo1.AddItem('<')
This.Columns(co-1).Combo1.AddItem('<>')
This.Columns(co-1).Combo1.AddItem('<=')
This.Columns(co-1).Combo1.AddItem('>=')

nam = 'or' + Str(d,N)
c_s="zapros." + (nam)
This.Columns(co).ControlSource=c_s
This.Columns(co).header1.Caption="OR..."
This.Columns(co).Width=210
ENDIF

После этого кода Фокс благополучно вылетает с ошибкой:
Fatal error: Exception code=C0000005 @ 2/14/2007 4:35:22 PM.
Не могу понять в чем дело, помогите пожалуйста..
...
Рейтинг: 0 / 0
Вылетает FOX
    #34333718
t03
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда-то про эту ошибку что-то говорил ВладимирМ. Попробуй поищи поиском, может найдешь.
...
Рейтинг: 0 / 0
Вылетает FOX
    #34333811
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не проще сразу добавить эти два столбца и просто скрывать/показывать по условию
...
Рейтинг: 0 / 0
Вылетает FOX
    #34336615
faustt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ММ, нуда, можно и так попроборать... Спасибо за совет! =)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вылетает FOX
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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