ďťż
Lemur zaprasza
Strona: [ > ] z 1 Autor Temat: problem z FileCopy anonim Typ: Nie zarejestrowany problem z FileCopy Jestem zielony w Vb więc sorry za proste pytanie : Nie działa mi funkcja FileCopy Przy uruchamianiu programu wypisuje : "Invalid use of property" - nie wiem co mam nie tak : Private Sub kopiuj_Click() FileCopy "c:\plik.txt", "c:\kopia.txt" End Sub 05-12-2003 15:45 mikmas From Łódź Stadt Typ: neutral Postów: 772 Zarejestrowany: Apr 2003 dziwne :/ Skopiowalem Twoj post, wkleilem do VB i stworzylem plik "plik.txt" z zawartoscia "costam", no i wszystko dziala _____________________________________________ 4C;65;70;69;65;6A;20;62;79;9C;20;73;69;EA;20; 62;61;72;64;7A;69;65;6A;20;73;6B;6F;6E;63;65; 6E;74;72;6F;77;61;B3;20;6E;61;20;6F;64;70;6F; 77;69;65;64;7A;69;2C;20;61;20;6E;69;65;20;6E; 61;20;72;6F;7A;73;7A;79;66;72;6F;77;79;77;61; 6E;69;75;20;3A;50 05-12-2003 16:08 3632553 losmac "profesorek" Typ: neutral Postów: 758 Zarejestrowany: May 2003 ??? Tłumacząc komunikat: "Nieprawidłowe użycie właściwości", można się domyślać, że: - procedura jest źle wywoływana, - plik, który kopiujesz nie istnieje, - plik docelowy już istnieje. Ja to bym zrobił tak: Private Sub kopiuj_Click() KopiujPlik "c:\plik.txt", "c:\kopia.txt" End Sub Private Sub KopiujPlik(zrodlowy As String, docelowy As String) If Dir(zrodlowy)= "" Then MsgBox "Plik źródłowy nie istnieje!", vbExclamation, "Ostrzeżenie" Exit Sub End If If Dir(docelowy)<> "" Then MsgBox "Plik docelowy już istnieje!", vbExclamation, "Ostrzeżenie" Exit Sub End If FileCopy zrodlowy, docelowy End Sub To tylko przykład, ale popatrz, że zapobiegasz dwóm najczęstszym błędom. _____________________________________________ POSTULATY STARUSZKA: 1) Ludzie, dbajcie o polszczyznę!!! 2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!! Powodzenia Maciej Łoś 05-12-2003 22:10 anonim Typ: Nie zarejestrowany nowy problem - poważniejszy :-( Dzięki za odpowiedź - przy testowaniu tego FileCopy sprawdziłem wszystkie możliwosci o których napisałeś ale mimo to nie chciało działać. Ostatecznie przepisałem kawałek kodu i zatrybiło. Natomiast pojawił się nowy problem(o czym dalej) : poniżej zamieszczam kod aplikacji (śledzi ona jakiś plik i jesli ulegnie on modyfikacji to składuje go w danym katalogu) Public plik_wejsciowy As String Public plik_docelowy As String Public plik As String Public NewDate As Date Public ModDate As Date Public MyDate As String Public msg As String Private Sub Form_Load() On Error Resume Next Dim FileHandle% plik = "C:\test\path.txt" FileHandle% = FreeFile Open plik For Input As #FileHandle% Line Input #FileHandle%, plik_wejsciowy Close #FileHandle% If (plik_wejsciowy <> "" Then txtPlik1.Text = plik_wejsciowy Timer1.Enabled = True Else Timer1.Enabled = False lblEkran.Caption = "Wybierz plik do śledzenia" End If End Sub Private Sub Timer1_Timer() If (IsEmpty(plik_wejsciowy)) Then msg = "Nie wybrano pliku" MsgBox msg Else NewDate = FileDateTime(plik_wejsciowy) If (NewDate <> ModDate) Then MyDate = Time MyDate = Replace(MyDate, ":", "-" plik_docelowy = "C:\test\wersja " & MyDate & ".txt" FileCopy plik_wejsciowy, plik_docelowy ModDate = FileDateTime(plik_wejsciowy) lblEkran.Caption = "Zapisano plik o nazwie " & plik_docelowy Else lblEkran.Caption = "Śledzony plik nie zmienił swojej zawartości" End If End If End Sub Private Sub wybierz_Click() Dim FileHandle% With CommonDialog1 .DialogTitle = "Wybierz plik" .Filter = "pliki tekstowe (*.txt)|*.txt|wszystkie pliki (*.*)|*.*" .ShowOpen If .FileName <> "" Then plik_wejsciowy = .FileTitle txtPlik1.Text = .FileName ModDate = FileDateTime(plik_wejsciowy) lblEkran.Caption = "Śledzony plik to " & plik_wejsciowy FileHandle% = FreeFile Open plik For Output As #FileHandle% Print #FileHandle%, txtPlik1.Text Close #FileHandle% Timer1.Enabled = True End If End With End Sub To wszystko działa dobrze u mnie na kompie , ale jak testowałem to na innym kompie to wywaliło błąd że nie można zainicjalizować CommonDialog i że może być za mało pamięci ( 128MB , bez innych uruchomionych aplikacji) Jak to można naprawić ? Albo jeśli istnieje jakiś prostszy sposób tego co chce zrobić to jaki ??? 05-12-2003 23:00 losmac "profesorek" Typ: neutral Postów: 758 Zarejestrowany: May 2003 biblioteki Wszystkiemu winne są biblioteki VB. Kiedy kompilujesz program do postaci wykonywalnej (exe), to taki exek korzysta z zainstalowanych u Ciebie bibliotek. Aby Twój program działał np. u kumpla, który nie ma bibliotek VB, musisz je u niego zainstalować. Na tej stronie znajdź aplikację FileAnalizer (miniFTP), ściągnij i użyj na swoim exeku. FileAnalizer podpowie Ci jakie biblioteki musisz zainstalować u kumpla, by zadziałało. Myślę, że nie chodzi tu o problem z pamięcią. _____________________________________________ POSTULATY STARUSZKA: 1) Ludzie, dbajcie o polszczyznę!!! 2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!! Powodzenia Maciej Łoś 06-12-2003 01:31 anonim Typ: Nie zarejestrowany Zrobiłem , tak jak powiedziałeś . Ta aplikacja wykazała że mój plik potrzebuje : msvbvm60.dll vba6.dll comdlg32.ocx Ściągnąłem też programik Inno Setup i zrobiłem nim setup'a , dołączając wymienione biblioteki. Wszystko instaluje na drugim kompie ,jest ok, a po uruchomieniu aplikacji i naciśnięciu buttona dalej wyskakuje ten sam błąd : Run-time error '32765' The common dialog function failed during the initialization. This error often occurs when insufficient memory is available. Nie wiem jak to naprawic bo na moim kompie wszystko działa jak trzeba,a też nie uważam żeby pamięć miała z tym cos wspólnego 06-12-2003 11:55 losmac "profesorek" Typ: neutral Postów: 758 Zarejestrowany: May 2003 hmmm.......... Ok, wygląda na to, że zrobiłeś wszystko... A czy zarejestrowałeś biblioteki programem regsrv32? Znajduje się on w katalogu system32 windowsa. _____________________________________________ POSTULATY STARUSZKA: 1) Ludzie, dbajcie o polszczyznę!!! 2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!! Powodzenia Maciej Łoś 06-12-2003 20:01 anonim Typ: Nie zarejestrowany tutorial Dzięki za odpowiedzi. Net mi nie działa od kilku dni wiec nie bardzo moge dyskutować , a przez modem bez sensu. Może poleciłbyś mi jakąś stronke gdzie mogę znaleźć przewodnik na temat tworzenia instalatora do programow VB ( i nie tylko) i rozwiązywaniu wszelkich problemów z tym związanych. thnx 09-12-2003 20:35 losmac "profesorek" Typ: neutral Postów: 758 Zarejestrowany: May 2003 skorzystaj z bezplatnego Inno Setup'a Skorzystaj z bezpłatnego Inno Setup'a. To najlepsze wyjście. Ten programik ma naprawdę wiele ciekawych funkcji, tylko trzeba się w niego "wczytać". Kilka wspaniałych przykładów jest dołączonych automatycznie podczas instalacji. Nie znam lepszego bezpłatnego narzędzia o TAK WIELKICH możliwościach. Zdecydowanie polecam Inno Setup! Jak chcesz mieć polski interfejs to daj znać mi na maila. Podeślę Ci pliczek. Oto link do stronki autora: AAAAAAAAA......... Byłbym zapomniał, autor programu zadbał też o newsgroup'y. Jak masz pytania i znasz angielski, wiele się można dowiedzieć... _____________________________________________ POSTULATY STARUSZKA: 1) Ludzie, dbajcie o polszczyznę!!! 2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!! Powodzenia Maciej Łoś 10-12-2003 01:32 Wszystkich odpowiedzi: 8 :: Maxymalnie na stronę: 20 Strona: [ > ] z 1 |