mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
Scripting.FileSystemObject a Windows 7 (x64) https://forum.mix-soft.pl/viewtopic.php?f=15&t=4135 |
Strona 1 z 1 |
Autor: | qres [ 2012-08-31, 13:50 ] |
Tytuł: | Scripting.FileSystemObject a Windows 7 (x64) |
Witam Symfonia FKP 2012a, Windows 7 (x64) problem ze skryptem: Kod: #define fsoForReading 1 #define fsoForWriting 2 #define fsoForAppending 8 dispatch fso = "Scripting.FileSystemObject" dispatch f String bi_katal = Katalog() String bi_katTmp = "" int sub PrzelEleNaPlik( int bi_param1) Select Case bi_param1 Case 0 Case 1 //debugger //Otwarcie nowego pliku Case 2 bi_katTmp = bi_katal+"bi2bank\\Paczka.tmp" f = fso.OpenTextFile(bi_katTmp,fsoForAppending) f.WriteLine("arg0:") f.WriteLine("") f.WriteLine("") f.WriteLine("arg1:") f.WriteLine("arg2:") f.WriteLine("arg3:"+arg3) f.WriteLine("arg4:"+arg4) f.WriteLine("arg5:"+arg5) f.WriteLine("arg6:"+arg6) f.WriteLine("arg7:"+arg7) f.WriteLine("arg8:"+arg8) f.WriteLine("arg9:"+arg9) f.WriteLine("-*-*-*-*-*-*-*-*-" + bi_katTmp) f.Close() Case Else EndSelect endsub Powyższy skrypt wywoływany jest cyklicznie w raporcie z rozrachunków, dopisując informacje zawarte w argumentach od arg0, do arg9. Na maszynach z XP (x32) pracuje prawidłowo, znaczy się otwiera i dopisuje dane do "PACZKA.TMP", natomiast na rzeczonej albo wygeneruje jedną pozycję, nie zrobi nic, lub czasu do czasu wygeneruje błąd o niemożności otwarcia tego pliku(paczka.tmp). Nie za bardzo wiem co z tym "fantem" zrobić :[ PS. Użytkownik zalogowany na tej maszynie ma full uprawnień. Edit. zapomniałem dodać: instalacja wielostanowiskowa, serwer to XP PRO (x32), bez Pervasiv'a (Jest sposób aby zainstalować stacje roboczą na kompie z x64 bez Pervasiv'a na serwerze) |
Autor: | rafal [ 2012-09-02, 07:34 ] |
Tytuł: | Re: Scripting.FileSystemObject a Windows 7 (x64) |
Raport wykonywany jest jak rozumiem np. dla kilku pozycji w oknie rozrachunki? Czy dla każdej pozycji otwierasz i zamykasz plik paczka.tmp czy otwierasz go na początku raportu, wykonujesz do niego zapisy i na końcu go zamykasz? |
Autor: | qres [ 2012-09-02, 13:11 ] |
Tytuł: | Re: Scripting.FileSystemObject a Windows 7 (x64) |
Skrypt "wywoływany" jest ze zmodyfikowanego, standardowego raportu z kartoteki rozrachunków, dlatego też dla każdej pozycji jest otwarcie,dopisanie pozycji i zamknięcie ..... f.WriteLine("arg9:"+arg9) f.WriteLine("-*-*-*-*-*-*-*-*-" + bi_katTmp) f.Close() ....... |
Autor: | rafal [ 2012-09-02, 18:50 ] |
Tytuł: | Re: Scripting.FileSystemObject a Windows 7 (x64) |
Zrób Kod: f = fso.OpenTextFile(bi_katTmp,fsoForAppending) w pętli po pozycjach Kod: ..... f.WriteLine("arg9:"+arg9) f.WriteLine("-*-*-*-*-*-*-*-*-" + bi_katTmp) ....... a na końcu raportu Kod: f.Close() i zobacz jak to zadziała |
Autor: | qres [ 2012-09-02, 23:35 ] |
Tytuł: | Re: Scripting.FileSystemObject a Windows 7 (x64) |
Jutro to sprawdzę. Tylko dalej nie mogę pojąć dlaczego toto działa na XP a na WIN7 nie za bardzo. Chyba że tu chodzi o "szerokość architektury", na 32 bitach działa a na 64 nie :[. Niestety nie mam na czym sprawdzić, nie mam do dyspozycji ani WIN7 (x32) ani XP (x64) |
Autor: | Jarek75 [ 2012-09-03, 08:30 ] |
Tytuł: | Re: Scripting.FileSystemObject a Windows 7 (x64) |
Byłoby ciekawiej jakbyś zamieścił tu jakiś kompletny raport, który u Ciebie nie działa. Wtedy można by potestować na różnych środowiskach. Ten niestety nic nie robi i stwierdzam, że to nic robi prawidłowo na Win7 64 :) Ok, poszedłem krok dalej i rozszerzyłem Twój raport o zrobienie 1 przelewu. Nie działa. Nie wiem, czy czytałeś dokumentację do funkcji OpenTextFile, ale wynika z niej, że domyślnie nie tworzy nowego pliku, ani katalogu. Jak utworzę ręcznie plik Paczka.tmp w odpowiednim miejscu, to zapełnia go danymi 100 przelewów bez przeszkód. Sugestia 2: sprawdź, czy Twój oryginalny raport zadziała prawidłowo na dysku C. |
Autor: | Jarek75 [ 2012-09-03, 09:33 ] |
Tytuł: | Re: Scripting.FileSystemObject a Windows 7 (x64) |
Poprawniejszy link do dokumentacji fso.OpenTextFile. Tamten był do tej samej funkcji, ale w innym kontekście. Choć parametry chyba i tak te same. No i zawsze można też użyć Excela, potem Alt-F11 / Tools / References / Windows Script Host i znaleźć odpowiednią funkcję w Object Browserze. |
Autor: | qres [ 2012-09-03, 09:48 ] |
Tytuł: | Re: Scripting.FileSystemObject a Windows 7 (x64) |
@Jarek75 paczka.tmp istnieje PRZED uruchomieniem skryptu. Po raz któryś nadmieniam iż na systemie XP funkcjonuje prawidłowo, ten skrypt działa na 6 różnych instalacjach, tak jedno jak i wielostanowiskowych :) skrypt wywoływany jest ze zmodyfikowanego standardowego skryptu "//1000,"rozrachu.sci","rozrachu.sci",2.15,SYSTEM" w linii 266 i 267 dodano: arg7 = kwota( kw ) PrzelEleNaPlik( 2 ) //by bi oczywiście wcześniej dodano stosowne deklaracja i odwołania |
Autor: | qres [ 2012-09-03, 15:01 ] |
Tytuł: | Re: Scripting.FileSystemObject a Windows 7 (x64) |
Problem rozwiązany połowicznie. Na zasobach lokalnych , znaczy się na dyskach NIE SIECIOWYCH działa prawidłowo :) Natomiast nie mam pomysłu czemu w sieciowych lokalizacjach taka kicha panuje. Prawdopodobnie jakieś "zamieszanie" panuje w buforowaniu. :/ Jak sądzę z samym WIN7 będę musiał się zmierzyć (nie bezpodstawnie nosi toto nick WINGROZA :[ ) |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |