|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
Привет!!!! Не могу никак понять есть prg в нем бонально просто for i = 1 to adir(laF, '\\SERVER\ШАРА\filezip_??????????.zip') LsNaim=laF[i, 1] do form rearch with LsNaim endfor в форме rearch - происходит разархивирование так вот собственно проблема... как сделать задержку, а то происходит что форма не успевает обрабатывать наименования файлов которые нужно раъархивировать... как паузу поставить или что то в этом духе ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 08:54 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
typik, В данной постановке задачи логичнее всего посоветовать форму rearch сделать модальной. Тогда цикл не будет продолжаться до тех пор, пока форма не скроется (.Hide) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 08:57 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
не помогает ставил уже, хвтает тока первый файл и все, потом форма закрывается ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 09:14 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
такое ощущение что цикл бежит не зависимо от формы ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 09:16 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
typikне помогает ставил уже, хвтает тока первый файл и все, потом форма закрывается А форма случайно не AsTopLevel? Если ShowWindow = 2 (AsTopLevel), то модальность игнорируется. А зачем вообще нужна форма? Вынеси распаковку в процедуру и вызывай ее. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 09:24 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
Точно ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 09:36 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
Вот блин я использую класс например MyClass как мне его объявить то в prg чтоб я мог с ним работать ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 09:45 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
typikВот блин я использую класс например MyClass как мне его объявить то в prg чтоб я мог с ним работать Класс где? Если в VCX то так: Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 09:50 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 09:53 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
блин тож не получается.... файл прилагается и класс, посмотрите пожалуйста кто может помочь, мож явная ошибка где есть заранее благодарствую ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 10:23 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
Посмотрел. Зачем столько макроподстановок Для полного пути лучше использовать функцию ADDBS() и кавычки поубирай: Код: plaintext
Это Код: plaintext 1. 2. 3.
Код: plaintext 1. 2. 3.
Вобщем избавляйся для начала от всех & и спрашивай конткретно: строка кода такая-то, ошибка такая-то. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 11:02 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
Опечатка у меня в: Код: plaintext
Код: plaintext
ADDBS() пробелы в конце убирает и "\" добавляет если его нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 11:03 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
И это: Код: plaintext
можно лучше так писать Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 11:06 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
Угу сейчас попробую ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 11:15 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
Рекомендации поправил.... В том то и дело, что ошибок не пишет т.к. их нет, у меня в папке VfpIn скажем есть 2 архива filezip_1311081544.zip и filezip_1411081545.zip так вот если прогнать то что я прикрепил то, почему то берется только filezip_1311081544.zip т.е. один файл и распаковывается... а второй не приделах если я коментирую вызов класса и вообще просто хочу посмотреть то все в порядке месседж показывает что берутся 2 файла как и должно быть при этом понять не могу почему так... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 11:20 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
Вот причесал немного твой PRG Код: 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.
Не запускал, но сразу возникают вопросы: 1. Ты уверен что service_1.pcopy_out1 это 'c:\Posting\VfpIn\' 2. Зачем удалять ADDBS(service_1.rabcat)+"InFile" и ADDBS(service_1.rabcat)+"OutFile" если они вроде как не используются. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 11:24 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
За прическу спасибо огромное Не запускал, но сразу возникают вопросы: 1. Ты уверен что service_1.pcopy_out1 это 'c:\Posting\VfpIn\' да 2. Зачем удалять ADDBS(service_1.rabcat)+"InFile" и ADDBS(service_1.rabcat)+"OutFile" если они вроде как не используются. не дело в том что в файле filezip_1311081500.zip там есть тоже OutFile и InFile и когда идет распаковка то вылетает сообщение вроде того что НЕ могу создать т.к. уже есть, приходится удалять.... а вот на счет того чтоб брал 2 и.т.д. архивов и распаковывал, все равно никак, берет один и все, хоть убей.... блин ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 12:11 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
typik а вот на счет того чтоб брал 2 и.т.д. архивов и распаковывал, все равно никак, берет один и все, хоть убей.... блин ИМХО, это происходит из-за фрагмента Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Либо service_1.path_out пишется пустая строка, либо происходит переход на конец файла, а затем Skip... Надо просто пройтись дебаггером и проконтролировать когда и где меняется service_1.path_out... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 12:33 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
Все происходит на этой строчке и дальше в класс LoMyObj.xunzip() ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 12:35 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
в service_1.path_out это табличка, туда явно прописан путь и он нигде не меняется загвоздка происходит при вызове LoMyObj.xunzip() при этом в самом классе ну не нашел я ничего страшного, а после просто все заканчивается и все , Деббагером смотрю, смотрел и не раз... и понять не могу что за ерунда ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 12:42 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
typikВсе происходит на этой строчке и дальше в класс LoMyObj.xunzip() Таким образом, место вознкновения ошибки нашли :-) Надо копать дальше, что происходит в xunzip()? Каким образом там поле service_1.path_out "обнуляется"? Скорее всего, либо происходит переход в конец файла service_1, либо для какой-то записи данное поле просто незаполнено... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 12:46 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
сидел идел и решил попробовать сделал так, все заработало, считал архивы которые лежат в папке в табличку и уже начал по скану идти по табличке LOCAL p1,p2,p4,p5 IF !USED("service_1") USE service_1.dbf in 0 ENDIF loFSO = CREATEOBJECT('Scripting.FileSystemObject') set deleted on select filekarp go top scan LssFileNaim=filekarp.naimfile MESSAGEBOX(LssFileNaim) SELECT service_1 p1=ADDBS(service_1.pcopy_out1)+LssFileNaim p2=ADDBS(service_1.path_out) p4=ADDBS(service_1.path_out)+"emailskarp.dbf" p5=ADDBS(service_1.path_out)+"emailskarp.fpt" pinfile=ADDBS(service_1.rabcat)+"InFile" poutfile=ADDBS(service_1.rabcat)+"OutFile" IF DIRECTORY(pinfile) && Удаляем каталоги, т.к. zip чего ругается, если они есть loFSO.DeleteFolder(pinfile,.T.) ENDIF IF DIRECTORY(poutfile) loFSO1.DeleteFolder(poutfile,.T.) ENDIF IF FILE(p4) loFSO.DeleteFile(p4,.T.) loFSO.DeleteFile(p5,.T.) ENDIF &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& If Empty(p2) return Endif LoMyObj=NEWOBJECT('shm_zip2','shm_zip2') LoMyObj.zipfile_name=p1 LoMyObj.output_path=p2 LoMyObj.output_mask="*.*" LoMyObj.xunzip() MESSAGEBOX("finish") ENDscan к моему большому удивлению данная конструкция заработала Если кто нибудь вдруг окинет взглядом предыдущую конструкцию, чтоб не воротить с таблицами, поделитесь опытом пожалуйста... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 12:51 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
typikв service_1.path_out это табличка, туда явно прописан путь и он нигде не меняется загвоздка происходит при вызове LoMyObj.xunzip() при этом в самом классе ну не нашел я ничего страшного, а после просто все заканчивается и все , Деббагером смотрю, смотрел и не раз... и понять не могу что за ерунда В классе может быть, например, что-то такое: Код: plaintext 1. 2. 3. 4. 5.
Кстати, такое (переход на "фиктивную" запись) я делал в ДОСе для задания пустых значений в переменных, получаемых по gather... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 12:52 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
Таким образом, место вознкновения ошибки нашли :-) Надо копать дальше, что происходит в xunzip()? Каким образом там поле service_1.path_out "обнуляется"? Скорее всего, либо происходит переход в конец файла service_1, либо для какой-то записи данное поле просто незаполнено... чтоб не лепить целыми кусками, в начале я привел во вложении там все.... и класс тоже service_1.path_out - тут не при чем, это табличка и в ней 3 поля всего, которые в дальнейшем никак не меняются.... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 12:53 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
service_1.path_out я его сейчас вообще убрал и просто в переменные вписал реальные пути, все тоже самое ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 12:55 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
typik Если кто нибудь вдруг окинет взглядом предыдущую конструкцию, чтоб не воротить с таблицами, поделитесь опытом пожалуйста... Пожалуйста: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 13:00 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
typik1. Ты уверен что service_1.pcopy_out1 это 'c:\Posting\VfpIn\' да Сегодня "да", завтра "нет" окажется и сглючит. Переноси путь в переменную до цикла и ее везде используй: Код: plaintext 1. 2. 3. 4.
typik2. Зачем удалять ADDBS(service_1.rabcat)+"InFile" и ADDBS(service_1.rabcat)+"OutFile" если они вроде как не используются. не дело в том что в файле filezip_1311081500.zip там есть тоже OutFile и InFile и когда идет распаковка то вылетает сообщение вроде того что НЕ могу создать т.к. уже есть, приходится удалять.... Ты приглядись к коду - тот же косяк что и в п.1. Папка куда распаковывается: p2=ADDBS(service_1. path_out ) а ты удаляешь pinfile=ADDBS(service_1. rabcat )+"InFile" poutfile=ADDBS(service_1. rabca t)+"OutFile" Причем тут service_1.rabcat, даже если service_1.rabcat = service_1.path_out надо писать: pinfile=p2+"InFile" poutfile=p2+"OutFile" Если структура архивов точно не известна, то лучше удалять папку p2 и заново ее создавать. Завтра еще какая подпапка появится и все работать перестанет. typikа вот на счет того чтоб брал 2 и.т.д. архивов и распаковывал, все равно никак, берет один и все, хоть убей.... блин Чего написал, то и делает. После распаковки кто копировать в другое место будет? Сейчас у тебя так происходит: Папка почистилась, первый архив распаковался, папка почистилась, второй архив распаковался... В в итоге остался последний распакованный. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 13:01 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
typikсделал так, все заработало, считал архивы которые лежат в папке в табличку и уже начал по скану идти по табличке Вероятно где-то в подпрограммах использована переменная i Ее значение где-то внутри поменялось и цикл FOR прекратился. Всегда объявляй локальные переменные в LOCAL, иначе подобные глюки ловить потом очень проблематично. Попробуй: Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 13:06 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
typikа вот на счет того чтоб брал 2 и.т.д. архивов и распаковывал, все равно никак, берет один и все, хоть убей.... блин Вы используете для распаковки строннюю DLL. Она хоть и DLL, но вполне может саму распаковку выполнять асинхронно с Вызывающей программой. Например, в другом потоке. Вы же не знаете как она устроена. Я упаковываю/распаковываю Rar’ом. Создаю для Rar отдельный процесс. Дожидаюсь его окончания. Продолжаю свою программу. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 13:06 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
сейчас буду все сначала делать с учетом ваших рекомендаций..... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 13:17 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
typikсейчас буду все сначала делать с учетом ваших рекомендаций..... Еще функции декларировать нужно. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 13:26 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
fox_viktypikсейчас буду все сначала делать с учетом ваших рекомендаций..... Еще функции декларировать нужно. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
оооо решил попробовать DECLARE INTEGER CreateProcess IN kernel32.DLL ; INTEGER lpApplicationName, ; STRING lpCommandLine, ; INTEGER lpProcessAttributes, ; INTEGER lpThreadAttributes, ; INTEGER bInheritHandles, ; INTEGER dwCreationFlags, ; INTEGER lpEnvironment, ; INTEGER lpCurrentDirectory, ; STRING @lpStartupInfo, ; STRING @lpProcessInformation DECLARE INTEGER WaitForSingleObject IN kernel32.DLL ; INTEGER hHandle, INTEGER dwMilliseconds DECLARE INTEGER CloseHandle IN kernel32.DLL ; INTEGER hObject lnRarHandle=fCreateProcess('"'+gcStartPath+'WinRAR.exe" e "'+tcFileName+'" "'+THIS.c_dr_temp_path+'"') DO WHILE .T. IF WaitForSingleObject(lnRarHandle, 0)=0x00000102 *Процесс не закончен DOEVENTS ELSE *Процесс закончен EXIT ENDIF ENDDO = CloseHandle(lnRarHandle) gcStartPath - Откуда берем WinRAR.exe - полный путь до exe tcFileName - что берем т.е. какой архив THIS.c_dr_temp_path - аа это куда ложим ?????? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 13:34 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
maskas gcStartPath - Откуда берем WinRAR.exe - полный путь до exe tcFileName - что берем т.е. какой архив THIS.c_dr_temp_path - аа это куда ложим ?????? "'+gcStartPath+'WinRAR.exe" – полный путь к Rar’у. Я для упаковки в одной программе и распаковке в другой использую одну и ту же версию Rar. Чтобы не зависеть от версии, которая может быть установлена на компьютере пользователя, кладу в стартовую папку программы файл WinRar.exe и использую его. tcFileName - что берем т.е. какой архив – полный путь распаковываемого файла. THIS.c_dr_temp_path - аа это куда ложим – да. Но это специфика моей программы. Можно манипулировать ключами Rar’а, в зависимости от своих потребностей. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 13:49 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
fox_vik"'+gcStartPath+'WinRAR.exe" gcStartPath+WinRAR.exe Скопировал больше, чен нужно. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 13:53 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
если писать так gcStartPath="c:\Test\" tcFileName="c:\Test\Out\test.rar" c_dr_temp_path="c:\" lnRarHandle=CreateProcess('"'+gcStartPath+'WinRAR.exe" e "'+tcFileName+'" "'+c_dr_temp_path+'"') Пишет что много аргументов и усе блин, где касяк ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 14:21 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
maskasесли писать так gcStartPath="c:\Test\" tcFileName="c:\Test\Out\test.rar" c_dr_temp_path="c:\" lnRarHandle=CreateProcess('"'+gcStartPath+'WinRAR.exe" e "'+tcFileName+'" "'+c_dr_temp_path+'"') Пишет что много аргументов и усе блин, где касяк Приношу свои извининения, обманул я Вас. :( Там еще мои функции есть. Сейчас работающий пример в один prg соберу и выложу. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 14:44 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
maskas, Тут я исходник класса-обертки над CreateProcess() давал. В простейшем случае использовать так: Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 14:47 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
Код: 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. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 14:57 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
Еще раз приношу извинения. Давно писал. :( Этот пример проверил. Работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 14:59 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
Только пути желательно в двойных кавычках. Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2008, 15:09 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
Всем привет!!!! Ребята я нашел касяк где он у меня был, а именно я объвлял и вызывал класс LoMyObj=NEWOBJECT('shm_zip2','shm_zip2') LoMyObj.zipfile_name=p1 LoMyObj.output_path=p2 LoMyObj.output_mask="*.*" LoMyObj.xunzip() Но но но , при этом у него есть LoMyObj.init() - где происходит обновления Api функций, так вот если поставить вот так вот LoMyObj=NEWOBJECT('shm_zip2','shm_zip2') LoMyObj.init() LoMyObj.zipfile_name=p1 LoMyObj.output_path=p2 LoMyObj.output_mask="*.*" LoMyObj.xunzip() LoMyObj.Destroy() то все замечательно просто работает fox_vik - Огромное спасибо, только вот DO WHILE .T. IF WaitForSingleObject(lnRarHandle, 0)=0x00000102 *Процесс не закончен DOEVENTS ELSE *Процесс закончен EXIT ENDIF ENDDO = CloseHandle(lnRarHandle) Если проверить *Процесс не закончен *Процесс закончен то в любом случае вываливает сразу *Процесс не закончен *Процесс закончен т.е. закончен ли процесс отследить нет возможности Всем спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2008, 16:45 |
|
Каким образом работает алгоритм вызова из prg ???
|
|||
---|---|---|---|
#18+
typik Если проверить *Процесс не закончен *Процесс закончен то в любом случае вываливает сразу *Процесс не закончен *Процесс закончен т.е. закончен ли процесс отследить нет возможности Честно говоря, ничего не понял. Т.е. Вы хотите сказать, что и в If и в else одновременно попадает? :) Если я правильно Вас понял. Запустите на распаковку большой файл, который долго ждать. Посмотрите. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2008, 20:45 |
|
|
start [/forum/topic.php?all=1&fid=41&tid=1587059]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
others: | 318ms |
total: | 489ms |
0 / 0 |