Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Глюк с USE / 5 сообщений из 5, страница 1 из 1
03.11.2007, 14:54
    #34915087
CTAC-KO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк с USE
Привет!

Встретился с таким глюком - если в начале имени файла стоит ! то такой файл програмно открыть невозможно, а только если дать команду USE ? и выбрать оный файл. Никакие макроподстановки и тп не работают, не работает даже если в командном окне четко указать USE path\file.dbf причем ошибка во всех случаях выдается всегда одна и та же на любой такой файл бд -
File 'C:\MyProg\Data\.dbc' does not exist

Встретил такую багу, когда писал прогу подмены стандартного грида на свой, потому пришлось SCAN FOR NOT "!"$Filename :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
CLEAR 
CLOSE DATABASES 
ADIR(arSCXFiles,"forms\*.scx")
IF ALEN(arSCXFiles, 1 )> 0 
   CREATE CURSOR curTemp (Filename C( 50 ))
   APPEND FROM ARRAY arSCXFiles
   RELEASE arSCXFiles
   SELECT ;
       Filename ;
     FROM curTemp ;
     INTO CURSOR curSCXFiles ;
     ORDER BY Filename
   USE IN curTemp
   SELECT curSCXFiles
   SCAN FOR NOT "!"$Filename 
     SELECT  0 
USE ('Forms\'+curSCXFiles.Filename)
 SCAN FOR BaseClass = "grid" OR BaseClass = "header" OR BaseClass = "textbox" OR BaseClass = "checkbox"
 DO CASE 
   CASE BaseClass = "grid"
      REPLACE Class WITH "mygrid",;
              ClassLoc WITH '..\class\mygrid.vcx',;
              Properties WITH STRTRAN(Properties ,'Column',"Mycolumn")
      REPLACE Properties WITH STRTRAN(Properties ,'MycolumnCount',"ColumnCount")

      lnOccurs = OCCURS('HeaderClassLibrary',Properties)
      FOR lnI= 1  TO lnOccurs
         lnPos = AT('HeaderClassLibrary',Properties)
         lnEndPos = lnPos +  34 
         DO WHILE SUBSTR(Properties,lnPos, 1 )#"M" &&Mycolumn óæå
            lnPos = LnPos- 1 
         ENDDO
         REPLACE Properties WITH STUFF(Properties,lnPos,lnEndPos-lnPos+ 1 ,'')
      ENDFOR
      
      lnOccurs = OCCURS('HeaderClass = ',Properties)
      FOR lnI= 1  TO lnOccurs
         lnPos = AT('HeaderClass = ',Properties)
         lnEndPos = lnPos +  25 
         DO WHILE SUBSTR(Properties,lnPos, 1 )#"M" &&Mycolumn óæå
            lnPos = LnPos- 1 
         ENDDO
         REPLACE Properties WITH STUFF(Properties,lnPos,lnEndPos-lnPos+ 1 ,'')
      ENDFOR

   CASE BaseClass = "header"
      REPLACE Class WITH "myheader", objname WITH "Myheader1",;
              parent WITH STRTRAN(parent,'Column',"Mycolumn"),;
              Properties WITH STRTRAN(Properties ,'Column',"Mycolumn")
      REPLACE Properties WITH STRTRAN(Properties ,'MycolumnCount',"ColumnCount")

   OTHERWISE 
      REPLACE parent WITH STRTRAN(parent,'Column',"Mycolumn")
   ENDCASE
ENDSCAN 
   USE

   ENDSCAN
   
   MESSAGEBOX("Completed", 64 )
ELSE
   MESSAGEBOX("Forms (.sct/.scx) not found", 64 )
   
ENDIF
при этом, среди прочего (макроподставы и тп), пробовал предварительно переименовывать .sct в .fpt и .scx в .dbf - не помогло.
vfp9sp1
...
Рейтинг: 0 / 0
03.11.2007, 16:35
    #34915175
Sergey Sizov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк с USE
Еще один обнаруживатель глюков. Плохо читавший хелп.
Символ "!" является разделителем между именем базы данных и именем таблицы в этой базе, например: tastrade!customers
...
Рейтинг: 0 / 0
03.11.2007, 17:57
    #34915257
CTAC-KO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк с USE
ё. Так я и думал! Я когда мессагу писал, то было такое чуйство, что я уже дето чето такое слыхал... Короче, открыл америку через форточку.

А кто шарит небось посмеялсо от души :) ну или хотя бы улыбнуло...

А вывод такой - "!" низзя в именах бд юзать!

С другой стороны грабли альтернативно на то и нужны, штоб на них наступать...
...
Рейтинг: 0 / 0
03.11.2007, 20:34
    #34915420
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк с USE
>А вывод такой - "!" низзя в именах бд юзать!
Ващето соглашения о именах никто не отменял
...
Рейтинг: 0 / 0
04.11.2007, 10:50
    #34915665
StandD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк с USE
CTAC-KOС другой стороны грабли альтернативно на то и нужны, штоб на них наступать...

Во-во, просто бальзам на израненную душу (Обнаруживатель глюков №1) ;-)))
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Глюк с USE / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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