powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / APPEND PROCEDURES ???
26 сообщений из 26, показаны все 2 страниц
APPEND PROCEDURES ???
    #33510811
Prot0s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот взял тут на форуме пример кода. Попробовал под VF 6.0 проделать, но почему-то никак не хочет добавлять хранимые процедуры к БД. И вообще как это можно сделать, т.е. есть БД и к ней нужно прикрепить хп, которые описаны в prg файле. В документации написано, что через APPEND, но не выходит.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
* создаем тестовую БД
CREATE DATABASE DBCheck
****** это подготовитльная работа 
* создаем курсор куда запишем текст нашей процедуры
CREATE CURSOR tmp (TextProc M)
* собственно текст
INSERT INTO tmp (TextProc) VALUES ('Function Summ' + + CHR( 13 ) + CHR( 10 ) )
replace TextProc WITH 'replace SumTwoDigit with FirstDigit + SecondDigit' + + CHR( 13 ) + CHR( 10 )  ADDITIVE IN tmp
replace TextProc WITH 'EndFunc' ADDITIVE IN tmp
* записываем из Мемо на диск в текстовый файл
COPY MEMO TextProc TO mytemp.txt
USE             
* добавляем процедуру (ХП) в контейнр БД
APPEND PROCEDURES FROM mytemp.txt   
* компилируем нашу ХП
COMPILE DATABASE DBCheck
****** конец подготовки
****** Такой изврат нужен, что бы добавить ХП в БД, поскольку нет штатной
****** команды CREATE PROCEDURE
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33510834
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Какая ошибка появляется
2. Каким образом определяется отсутствие ХП

Открой БД, скажи ей modi database, затем выполни DISPLAY PROCEDURES или правая педаль мыши не контейнере БД - EditStoregeProcedure
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33510861
Prot0s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возможно, я плохо описал суть проблемы. В общем она такова. Есть приложение, написаное на VF 6.0. На форме есть (утрировано) кнопка выбора какой-либо БД, нажимаем на эту кнопку, выбираем нужную БД (файл *.dbc). Далее выбираем какой-либо файл .prg, содежащий процедуры. После осуществления всего вышеописанного уже нажимаем, допустим, на третью кнопку, и программа должна взять процедуры из файла prg и добавить их в нашу БД. Таки образом, в БД появиться дополнительные процедуры. Все это нужно сделать программно, т.е. по нажатию трех кнопок.
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33510867
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот насчет
COMPILE DATABASE DBCheck

в рантайме я не уверен
там компил не работает кажется в рантайме
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33510909
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работает, в атаче простенький код
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33510912
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фу елки палки, улетел пост без кода

Код: plaintext
1.
2.
OPEN DATABASE DBCheck EXCLUSIVE

COMPILE DATABASE DBCheck
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33510919
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Prot0sВозможно, я плохо описал суть проблемы. В общем она такова. Есть приложение, написаное на VF 6.0. На форме есть (утрировано) кнопка выбора какой-либо БД, нажимаем на эту кнопку, выбираем нужную БД (файл *.dbc). Далее выбираем какой-либо файл .prg, содежащий процедуры. После осуществления всего вышеописанного уже нажимаем, допустим, на третью кнопку, и программа должна взять процедуры из файла prg и добавить их в нашу БД. Таки образом, в БД появиться дополнительные процедуры. Все это нужно сделать программно, т.е. по нажатию трех кнопок.

Перед добавление ХП, надо старую удалить, а затем новую добавить, иначе новая ХП допишится в конец файла процедур и при исполнении фокс до неё не доберётся, поскольку сначала встретит старую ХП.
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33510946
Prot0s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все равно не добавляет. Есть ли где-нибудь рабочий пример для VF 6.0. Просто не понятно в таком случае, зачем команду такую ввели, если она в run-time не работает.
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33511006
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я Вам помочь не смогу
у меня 6-ки нет

в 9- ке вот такой синтаксис
APPEND PROCEDURES FROM FileName [AS nCodePage] [OVERWRITE]

с [OVERWRITE] как раз будет переписывать


впихнуть код там можно и руками

use ...\dddd.dbc

поле Code
3-я запись как раз исходный код
4-я запись компилированный

в 6-ке компила в рантайме точно нет
как Вы компилить будете???

переходите на старшие версии
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33511017
Фотография FM32YO aka KID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Prot0sВсе равно не добавляет. Есть ли где-нибудь рабочий пример для VF 6.0. Просто не понятно в таком случае, зачем команду такую ввели, если она в run-time не работает.

Была та же проблема.. решил так:



НЕ РАБОТАЕТ - причина неизвестна
Код: plaintext
1.
2.
3.
4.
5.
6.
APPEND PROCEDURES FROM myProc.txt
close data all
clear all

COMPILE DATABASE MyDB



РАБОТАЕТ
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
USE MyDB.dbc
GOTO  3 
APPEND MEMO Code FROM myProc.txt
close data all
clear all
*OPEN DATABASE URAR
COMPILE DATABASE URAR
close data all
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33511030
Фотография FM32YO aka KID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо COMPILE DATABASE URAR
будет COMPILE DATABASE MyDB

ошибся слегка
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33511093
Prot0s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 FM32YO aka KID

Похоже на правду, т.е. работает 8) А насколько это корректно, по сути APPEND PROCEDURES должна делать тоже самое, но не делает 8( Скорее всего придется воспользоваться вышепредложенным методом, а что остается.
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33511111
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот еще работающий пример , если интересно...
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33511294
Фотография FM32YO aka KID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Prot0s 2 FM32YO aka KID

Похоже на правду, т.е. работает 8) А насколько это корректно, по сути APPEND PROCEDURES должна делать тоже самое, но не делает 8(

я тоже так думал.. пока не заметил, что APPEND PROCEDURES проходит, но в дизайнере БД нету процедур...
в итоге APPEND MEMO Code FROM myProc.txt и усе...
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33512854
Prot0s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Метод работает, но не в runtime. А так APPEND PROCEDURES добавляет и компилирует хр. процедуры, но не записывает текст в memo поле БД, т.е. ее вызвать можно, но текст подправить будет проблематично. Второй метод добавляет сначало в memo поле код, а потом его компилирует. Только все это не работает в runtime, т.к. APPEND PROCEDURES и COMPILE DATABASE не поддерживаются, что очень печалит.
По этому поводу возникает вопрос, где найти более подробную информацию о внутреннем устройстве Fox Pro 6.0 и последующих версий, о том какие функции будут работать в runtime, а какие только при создании проекта, форматы файлов БД и прочее. MSDN читал, но там только описываются описание функций, и целой картины не видно. В общем нужны ссылки на источники (англоязычные и русскоязычные).

8)
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33512887
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Prot0s нужно запускаться под фоксой
или переходить на старшие версии

у меня в 98г проблемы как раз с компилом модулей были
я скрипты компилил и засовывал в мемо как раз в отдельном модуле
который запускался под фоксом

а уже остальной софт в рантайме работал
неудобства жуткие были
принцип как в 1ц был (пошли все нафиг - я в настройку полез)

сейчас в 9-ке проблем вообще нет
хоть укомпилься в рантайме
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33512926
Prot0s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может и перешел бы на 9-ку. Собственно организацией уже приобретена, но ее еще внедрять надо, а это обычно долго проходит. А программного обеспечения у нас под Fox много, есть даже проги под DOS 8) У нас все жестко регламентированно. Большая просьба подкинуть ссылки по поводу Fox Pro 6/0 и далее, молод еще в этом деле, тока 3-и месяца им занимаюсь, сейчас очень плотно засел за него, хочется понять внутреннее взаимодействие и структуру. Так, думается, будет проще писать. А по поводу настроек получается, что runtime отдыхает (((
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33513194
Фотография FM32YO aka KID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Prot0sМетод работает, но не в runtime. А так APPEND PROCEDURES добавляет и компилирует хр. процедуры, но не записывает текст в memo поле БД, т.е. ее вызвать можно, но текст подправить будет проблематично. Второй метод добавляет сначало в memo поле код, а потом его компилирует. Только все это не работает в runtime, т.к. APPEND PROCEDURES и COMPILE DATABASE не поддерживаются, что очень печалит.


погодите это как же?
я для таких вещей, как модификация базы у клиента написал а-ля утилитку - выполнитель скриптов ..
которая берет на диске prg файл - компилит его и выполняет..
так вот только что попробовал.. в этом прг написать полное создание БД + таблиц + хранимки в БД...запустил - получил пустую БД, но ХП в ней есть и их видно и текст можно править... специально попробовал...
или это не есть "в runtime" ????
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33513230
Prot0s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Под runtime я понимаю скомпилированное приложение *.exe + dll. Там не работает, а под оболочкой все ОК.
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33513554
Фотография FM32YO aka KID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Prot0sПод runtime я понимаю скомпилированное приложение *.exe + dll. Там не работает, а под оболочкой все ОК.

утилитка, о которой я писал выше представляет собой
DoScript.exe (VFP 7) + нужные длл файлы, чтобы ехе-шник запустился...
в нем просто выбираешь нужный ПРГ-файл - и выполняешь его..
то есть среда фокса тут вроде не присутствует а?
придумано именно для того, чтобы не таскать среду к клиенту в случае изменения структуры базы...
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33513753
Prot0s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 FM32YO aka KID

А можно ли посмотреть на код? Может быть здравые мысли и посетят мою бренную голову.
Можно скинуть на мыло - protein@inbox.ru
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33513840
Фотография FM32YO aka KID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Prot0s 2 FM32YO aka KID

А можно ли посмотреть на код? Может быть здравые мысли и посетят мою бренную голову.
Можно скинуть на мыло - protein@inbox.ru

хм.. думаю тебе хочется взглянуть по быстрей.. а исходники у меня дома
Поэтому на пальцах поясню
1 есть форма с кнопкой выбора файла *.prg, который собственно хочешь выполнить, вроде через GetFile его выбираешь
2 его имя с путем прописыаается в текстбоксе на форме, ну чтобы видно было :-)
3 есть свойстфо на форме, которому присваивается то, что в текстбоксе...
4 рядом кнопка под которой простенький код
Compile Thisform.cPathFile
* это и есть путь в прг-файлу
DO Thisform.cPathFile
хотя в 7-ке и выше вроде можно сделать изящней через
FILETOSTR - EXECUTESCRIPT
но я как-то по старинке сделал :-)
В итоге в принципе наверное в выполняемый ПРГ-файл можно наверное даже форму запихнуть (не пробовал), но модификация базы данных и заполнение ее, если надо идет на ура....
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33513981
Prot0s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробую, хотя уже дома, но работа не ждет 8) Спасибо, лишними знания никогда не бывают.
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33514561
Prot0s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем неудача. Feature is not available, как пишет мне Fox Pro 6.0 при выполнении команды COMPILE ("C:\prog.prg"), остается модифицировать БД из оболочки. Exe + dll вариант провалился.
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33514818
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Prot0s!

COMPILE для prg в рантайме доступен начиная с VFP6SP3 (ну а в SP5 он 100%
есть и работает). Использовать VFP6 без SP5 я бы никому не советовал (если
уж приходится оставаться на старой версии, то как минимум нужно все
исправления к оной иметь).
Был ли доступен COMPILE DATABASE в VFP6 я не помню - в 7-ке и выше он
работает. APPEND PROCEDURES не работает и не должен (в смысле в рантайме) -
про это написано в хелпе (перечислено в числе прочих недоступных в рантайме
возможностей).

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
APPEND PROCEDURES ???
    #33515097
Фотография FM32YO aka KID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Prot0sВ общем неудача. Feature is not available, как пишет мне Fox Pro 6.0 при выполнении команды COMPILE ("C:\prog.prg"), остается модифицировать БД из оболочки. Exe + dll вариант провалился.

да я же вроде упоминал, что у меня 7-ка.. там работает все, о чем я тут написал
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / APPEND PROCEDURES ???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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