Posty bez odpowiedzi |oraz Aktywne tematy Dzisiaj jest 2024-11-24, 20:10x



Odpowiedz w temacie  [ Posty: 9 ] 
Scripting.FileSystemObject a Windows 7 (x64) 
Autor Wiadomość

Rejestracja: 2010-03-30, 11:53
Posty: 23
Pomógł: 2
Post 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)


2012-08-31, 13:50
Wyświetl profil
Autor Wiadomość
 


Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 4000
Pomógł: 448
Post 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?

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2012-09-02, 07:34
Wyświetl profil

Rejestracja: 2010-03-30, 11:53
Posty: 23
Pomógł: 2
Post 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()
.......


2012-09-02, 13:11
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 4000
Pomógł: 448
Post 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

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2012-09-02, 18:50
Wyświetl profil

Rejestracja: 2010-03-30, 11:53
Posty: 23
Pomógł: 2
Post 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)


2012-09-02, 23:35
Wyświetl profil
Ekspert
Ekspert
Awatar użytkownika

Rejestracja: 2009-03-07, 11:13
Posty: 597
Pomógł: 34
Post 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.


2012-09-03, 08:30
Wyświetl profil
Ekspert
Ekspert
Awatar użytkownika

Rejestracja: 2009-03-07, 11:13
Posty: 597
Pomógł: 34
Post 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.


2012-09-03, 09:33
Wyświetl profil

Rejestracja: 2010-03-30, 11:53
Posty: 23
Pomógł: 2
Post 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


2012-09-03, 09:48
Wyświetl profil

Rejestracja: 2010-03-30, 11:53
Posty: 23
Pomógł: 2
Post 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 :[ )


2012-09-03, 15:01
Wyświetl profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Odpowiedz w temacie   [ Posty: 9 ] 
   Podobne tematy   Autor   Odpowiedzi   Odsłony   Ostatni post 
Na tym forum nie ma nowych nieprzeczytanych postów. Lista plików przy pomocy Scripting.FileSystemObject

w Programowanie

koronen

7

4784

2012-03-20, 01:57

wrob Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. windows 7 x64 (klient) windows Xp HE (serwer) problem.

w Techniczne

zinger

11

10206

2011-01-07, 15:20

wrob Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Windows 7 x64 Pro + Pervasive 9.50 ?

w Techniczne

Elber

1

2894

2012-01-25, 02:14

wrob Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Windows 2008 Server x64 a PSQL V10 32 bit

w Techniczne

lord

10

7182

2010-04-16, 12:49

wrob Wyświetl najnowszy post



Kto jest online

Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 13 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Support forum phpbb by phpBB Assistant