|
Проблемы с выходом из программы.комбобокс
|
|||
---|---|---|---|
#18+
Здравствуйте. Есть программа, из меню происходит вызов формы, на ней комбобокс. В Init комбо написан вот такой код: Local curLpt m.curSmo='t'+SYS(2015) This.RowSource='' strSQL="SELECT UPPER(name) as name,kod FROM lpt order by name" m.result=SQLExec(nConn,strSQL,m.curLpt) This.IncrementalSearch=.T. This.ColumnCount = 1 This.BoundColumn = 2 This.BoundTo = .T. This.ColumnWidths ='300,0' This.RowSourceType=2 This.RowSource=m.curLpt в Destroy комбо: If Used(this.RowSource) Then Use In(this.RowSource) Endif И все работает прекрасно, если только не нажать на кнопку "Выход" в меню. Появляется сообщение, что нет доступа и далее название моего курсора, который служит источником данных для комбы. Код кнопки "Выход": vareexit=MESSAGEBOX("Программа будет закрыта.Вы уверены?",33,"Выход") IF vareexit=1 DO exitprogram.prg ENDIF Код exitprogram.prg: Procedure ExitProgram * устанавливаем меню по умолчанию Set Sysmenu To * отключаем обработчик ошибок On Error * включаем статусную строку Set Status Bar On * закрываем все окна и таблицы Close All * очищаем все переменные из памяти Clear All * и выходим в среду разработки или операционную систему Cancel Endproc Помогите решить данную проблему. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2012, 10:01 |
|
Проблемы с выходом из программы.комбобокс
|
|||
---|---|---|---|
#18+
ping_09в Destroy комбо: If Used(this.RowSource) Then Use In(this.RowSource) Endif Попробуй так: Код: plsql 1. 2. 3. 4. 5. 6.
Или закрывай курсор в Destroy формы ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2012, 10:09 |
|
Проблемы с выходом из программы.комбобокс
|
|||
---|---|---|---|
#18+
Jonny540, This.RowSource=' ' в Destroy комбо не помогло. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2012, 10:16 |
|
Проблемы с выходом из программы.комбобокс
|
|||
---|---|---|---|
#18+
ping_09, WAIT (this.RowSource) WINDOW && что покажет? If Used(this.RowSource) Then Use In(this.RowSource) Endif ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2012, 10:33 |
|
Проблемы с выходом из программы.комбобокс
|
|||
---|---|---|---|
#18+
IgorNG, выдает название курсора. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2012, 10:51 |
|
Проблемы с выходом из программы.комбобокс
|
|||
---|---|---|---|
#18+
Есть мысль о том, чтобы попробовать закрывать формы, в процедуре выхода. Что скажете, господа? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2012, 10:58 |
|
Проблемы с выходом из программы.комбобокс
|
|||
---|---|---|---|
#18+
ping_09, По кнопке выход у тебя выполняется prg, в котором команда CLOSE ALL, т.е. твой курсор закрывается. Попробуй её убрать - какой будет результат? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2012, 11:04 |
|
Проблемы с выходом из программы.комбобокс
|
|||
---|---|---|---|
#18+
IgorNG, Закомментировал строку Close All и все отработало. Объясните пожалуйста мне, неужели эту команду не нужно выполнять при закрытии приложения? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2012, 11:08 |
|
Проблемы с выходом из программы.комбобокс
|
|||
---|---|---|---|
#18+
ping_09, Закрывает все открытые базы данных, таблицы и индексы во всех рабочих областях и выбирает рабочую область 1. Команда CLOSE ALL также закрывает все файлы, открытые с помощью функций файлов низкого уровня FCREATE( ) и FOPEN( ) и процедурные файлы открытые с помощью команды SET PROCEDURE. CLOSE ALL не закрывает файлы открытые командой SET PRINT. По команде CLOSE ALL также закрываются: Дизайнер Форм Менеджер проектов Дизайнер этикеток Дизийнер отчетов Дизайнер запросов CLOSE ALL не закрывает: Окно команд Окно Debug Помощь Окно Trace ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2012, 11:29 |
|
Проблемы с выходом из программы.комбобокс
|
|||
---|---|---|---|
#18+
Или закрывай курсор в Destroy формы А как насчет этого? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2012, 11:36 |
|
Проблемы с выходом из программы.комбобокс
|
|||
---|---|---|---|
#18+
Jonny540, А так фокса ругается, что не существует переменнная m.curLpt. If Used (this.m.curLpt) Then Use In (this.m.curLpt) Endif ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2012, 12:37 |
|
Проблемы с выходом из программы.комбобокс
|
|||
---|---|---|---|
#18+
ping_09, Потому что он определена как local ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2012, 12:45 |
|
Проблемы с выходом из программы.комбобокс
|
|||
---|---|---|---|
#18+
IgorNG, Верно, но ведь PUBLIC-переменные не очень-то и рекомендуют использовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2012, 12:47 |
|
Проблемы с выходом из программы.комбобокс
|
|||
---|---|---|---|
#18+
ping_09, Верно. Я вообще предпочитаю именовать курсоры своими именами и этим уменьшаю количсетво проблем. SQLEXEC(nStatementHandle [, cSQLCommand [, cCursorName[, aCountInfo]]]) cCursorName Определяет имя (наименование) Курсора Visual FoxPro, в который выгружаются получаемые результаты выполнения оператора SQL. Если данный параметр функции не указан, Visual FoxPro использует имя по-умолчанию: SQLRESULT. И непонятно зачем имя курсора заносить в переменную? Что разве так не будет работать? m.result=SQLExec(nConn,strSQL,"curLpt") Тогда и отпала бы необходимость в танцах, типа If Used(this.RowSource) Then Use In(this.RowSource) Люблю понятность. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2012, 13:04 |
|
Проблемы с выходом из программы.комбобокс
|
|||
---|---|---|---|
#18+
ping_09, Верно. Я вообще предпочитаю именовать курсоры своими именами и этим уменьшаю количсетво проблем. SQLEXEC(nStatementHandle [, cSQLCommand [, cCursorName[, aCountInfo]]]) cCursorName Определяет имя (наименование) Курсора Visual FoxPro, в который выгружаются получаемые результаты выполнения оператора SQL. Если данный параметр функции не указан, Visual FoxPro использует имя по-умолчанию: SQLRESULT. И непонятно зачем имя курсора заносить в переменную? Что разве так не будет работать? m.result=SQLExec(nConn,strSQL,"curLpt") Тогда и отпала бы необходимость в танцах, типа If Used(this.RowSource) Then Use In(this.RowSource) Люблю понятность. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2012, 13:05 |
|
Проблемы с выходом из программы.комбобокс
|
|||
---|---|---|---|
#18+
Как вариант, перейти на приватные сессии. Тогда все курсоры закроются по закрытии формы. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2012, 15:21 |
|
|
start [/forum/topic.php?fid=41&msg=38019736&tid=1583366]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
39ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 147ms |
0 / 0 |