Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Przy debugowaniu zaczyna działać...
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003
Przy debugowaniu zaczyna działać...

Naptkałem się na dziwne zjawisko. Mam funkcję wysyłającą coś na serwer:

Function Send(SerwerFTP As String, Co As String, Nazwa As String) As Boolean
On Error GoTo Byk
Dim strRemote As String, strLocal As String
With Form1.Inet1
.AccessType = icUseDefault
.Protocol = icFTP
.RemoteHost = SerwerFTP
.RemotePort = "21"
.Password = "mik007"
.UserName = "mikmas"
.RequestTimeout = "60"
strRemote = Nazwa
strLocal = Co
Reply:
On Error GoTo Byk
.Execute , "PUT """ & strLocal & """ " & strRemote
Send = True
Exit Function
Byk:
Debug.Print Err.Description
Bykuj
GoTo Reply
End With
End Function
Sub Bykuj()
On Error Resume Next
Form1.Inet1.Execute , "CLOSE"
End Sub


</> za drugim razem (kiedy wysyłam za pomocą tego) wybija mi się mimo wszystko błąd "Still executing last request" i podświetla mi .Execute , "PUT """ & strLocal & """ " & strRemote. A co najdziwniejsze, kiedy wciskam F9 (wykonaj następny krok) powinien się znów wyświetlić błąd (tak jak jest zwykle), ale on
wykonuje tą operacje (czyli wysyła bez gadania plik)! Tak samo jest w innym momencie, kiedy chcę wysłać plik na serwer. Nie wybija błędu (kiedy pominę g tak jak napisałem powyżej), ale na serwerze nie widzę go :/. A kiedy debuguję i chcę zobaczyć, co źle zrobiłem, on jak na złość wysyła i wszystko działa ok. CO JEST??


_____________________________________________
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-07-2004 18:22
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003


ale on
wykonuje tą operacje (czyli wysyła bez gadania plik)!

Okazuje się, że ten plik nie zostaje wysłany


_____________________________________________
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-07-2004 18:28
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
Jelcyn
Admin forum




Typ: admin
Postów: 895
Zarejestrowany: Apr 2002

Jak czytałem pierwszą wypowiedź to przyszło mi do głowy, że trzeba gdzieś walnąć Sleepa :-)


http://board.freeweb.pl/posts.php?board_id=1543&topic_id=79067&division=615
Tu ktoś inny ma problem z FTP, może wspólnymi siłami coś wykombinujecie ?

[Post edytowany dnia 05-07-2004 20:08 przez Jelcyn]


_____________________________________________
Jelcyn
vb4all(małpka)canpol.pl
http://www.coderscity.pl/no-vb4all * http://www.jelcyn.com

05-07-2004 20:07
Pokaż profil Jelcyn  Wyślij email do Jelcyn   Odwiedź stronę Jelcyn       270849979    6237704
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Ja też bym tam jakiegoś sleepa, delaya czy pętlę oczekujaca wsadził.
A ten problem z FTP miałęm ja. Z tym, ze u mnie raczej sleep by nie pomógł. Obawiam się, że może być wręcz przeciwnie - robię to za wolno .


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

05-07-2004 23:15
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003

Tak, ale po co miałbym wstawiać opóźnienie? Mimo wszystko wstawiłem, tak jak mowiliście, ale nic z tego . A co do tego:

"ale on wykonuje tą operacje (czyli wysyła bez gadania plik)!"

Okazuje się, że ten plik nie zostaje wysłany"

... to jednak wysyła, tylko pliku takiego nie było. Przedtem ten błąd ("Still executing last reqest" wyświetlał się tylko przy tym pliku, jednakże prog ma jeszcze 4 pliki do wysłania, to wskazuje inny plik, który już napewno istnieje. Dlaczego akurat on??!! Dlaczego wogóle tak się dzieje. POMÓŻCIE


_____________________________________________
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

06-07-2004 00:56
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
Chudy
[TLHW]Wiktor



Typ: moderator
Postów: 574
Zarejestrowany: Aug 2002

Ja do FTP napisałem prosty modół który korzysta z tylko funkcji API.


_____________________________________________
Projekt "Thunder Cannons" nadchodzi...

10-07-2004 15:40
Pokaż profil Chudy  Wyślij email do Chudy   Odwiedź stronę Chudy       1220895
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003

A to mógłbyś wysłać?


_____________________________________________
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

10-07-2004 16:09
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
Chudy
[TLHW]Wiktor



Typ: moderator
Postów: 574
Zarejestrowany: Aug 2002

Moduł dostępny jest już tutaj (na mojej nowej stronie) na samym dole.


_____________________________________________
Projekt "Thunder Cannons" nadchodzi...

10-07-2004 18:46
Pokaż profil Chudy  Wyślij email do Chudy   Odwiedź stronę Chudy       1220895
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003

Super! Tylko, że ja mam problem też z pobraniem pliku (api). Ściąganie - ok. Ale nie może się rozłączyć. wyraźnie pod koniec funkcji piszę:

InternetCloseHandle hConnection
InternetCloseHandle hOpen

Nie wybija żadnego błędu, a admin mówi, że się nie rozłącza . Też jakt Ty, Chudy korzystałem z Api-Guide


_____________________________________________
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

11-07-2004 00:19
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
Chudy
[TLHW]Wiktor



Typ: moderator
Postów: 574
Zarejestrowany: Aug 2002

Korzystasz z mojego modułu czy sam napisałeś kod ??


_____________________________________________
Projekt "Thunder Cannons" nadchodzi...

11-07-2004 12:12
Pokaż profil Chudy  Wyślij email do Chudy   Odwiedź stronę Chudy       1220895
mikmas
From Łódź Stadt




Typ: neutral
Postów: 772
Zarejestrowany: Apr 2003

Sam - to złe określenie. Zerżnąłem z Api-Guide:

Const FTP_TRANSFER_TYPE_UNKNOWN = &H0
Const FTP_TRANSFER_TYPE_ASCII = &H1
Const FTP_TRANSFER_TYPE_BINARY = &H2
Const INTERNET_DEFAULT_FTP_PORT = 21              ' default for FTP servers
Const INTERNET_SERVICE_FTP = 1
Const INTERNET_FLAG_PASSIVE = &H8000000            ' used for FTP connections
Const INTERNET_OPEN_TYPE_PRECONFIG = 0                    ' use registry configuration
Const INTERNET_OPEN_TYPE_DIRECT = 1                        ' direct to net
Const INTERNET_OPEN_TYPE_PROXY = 3                        ' via named proxy
Const INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY = 4  ' prevent using java/script/INS
Const MAX_PATH = 260
Private Type FILETIME
    dwLowDateTime As Long
    dwHighDateTime As Long
End Type
Private Type WIN32_FIND_DATA
    dwFileAttributes As Long
    ftCreationTime As FILETIME
    ftLastAccessTime As FILETIME
    ftLastWriteTime As FILETIME
    nFileSizeHigh As Long
    nFileSizeLow As Long
    dwReserved0 As Long
    dwReserved1 As Long
    cFileName As String * MAX_PATH
    cAlternate As String * 14
End Type
Private Declare Function InternetCloseHandle Lib "wininet" (ByRef hInet As Long) As Long
Private Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" (ByVal hInternetSession As Long, ByVal sServerName As String, ByVal nServerPort As Integer, ByVal sUserName As String, ByVal sPassword As String, ByVal lService As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function FtpSetCurrentDirectory Lib "wininet.dll" Alias "FtpSetCurrentDirectoryA" (ByVal hFtpSession As Long, ByVal lpszDirectory As String) As Boolean
Private Declare Function FtpGetCurrentDirectory Lib "wininet.dll" Alias "FtpGetCurrentDirectoryA" (ByVal hFtpSession As Long, ByVal lpszCurrentDirectory As String, lpdwCurrentDirectory As Long) As Long
Private Declare Function FtpCreateDirectory Lib "wininet.dll" Alias "FtpCreateDirectoryA" (ByVal hFtpSession As Long, ByVal lpszDirectory As String) As Boolean
Private Declare Function FtpRemoveDirectory Lib "wininet.dll" Alias "FtpRemoveDirectoryA" (ByVal hFtpSession As Long, ByVal lpszDirectory As String) As Boolean
Private Declare Function FtpDeleteFile Lib "wininet.dll" Alias "FtpDeleteFileA" (ByVal hFtpSession As Long, ByVal lpszFileName As String) As Boolean
Private Declare Function FtpRenameFile Lib "wininet.dll" Alias "FtpRenameFileA" (ByVal hFtpSession As Long, ByVal lpszExisting As String, ByVal lpszNew As String) As Boolean
Private Declare Function FtpGetFile Lib "wininet.dll" Alias "FtpGetFileA" (ByVal hConnect As Long, ByVal lpszRemoteFile As String, ByVal lpszNewFile As String, ByVal fFailIfExists As Long, ByVal dwFlagsAndAttributes As Long, ByVal dwFlags As Long, ByRef dwContext As Long) As Boolean
Private Declare Function FtpPutFile Lib "wininet.dll" Alias "FtpPutFileA" (ByVal hConnect As Long, ByVal lpszLocalFile As String, ByVal lpszNewRemoteFile As String, ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean
Private Declare Function InternetGetLastResponseInfo Lib "wininet.dll" Alias "InternetGetLastResponseInfoA" (lpdwError As Long, ByVal lpszBuffer As String, lpdwBufferLength As Long) As Boolean
Private Declare Function FtpFindFirstFile Lib "wininet.dll" Alias "FtpFindFirstFileA" (ByVal hFtpSession As Long, ByVal lpszSearchFile As String, lpFindFileData As WIN32_FIND_DATA, ByVal dwFlags As Long, ByVal dwContent As Long) As Long
Private Declare Function InternetFindNextFile Lib "wininet.dll" Alias "InternetFindNextFileA" (ByVal hFind As Long, lpvFindData As WIN32_FIND_DATA) As Long
Const PassiveConnection As Boolean = True
Private Sub Form_Load()
    'KPD-Team 2000
    'URL: http://www.allapi.net
    'E-Mail:
    Dim hConnection As Long, hOpen As Long, sOrgPath  As String
    'open an internet connection
    hOpen = InternetOpen("API-Guide sample program", INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
    'connect to the FTP server
    hConnection = InternetConnect(hOpen, "your ftp server", INTERNET_DEFAULT_FTP_PORT, "your login", "your password", INTERNET_SERVICE_FTP, IIf(PassiveConnection, INTERNET_FLAG_PASSIVE, 0), 0)
    'create a buffer to store the original directory
    sOrgPath = String(MAX_PATH, 0)
    'get the directory
    FtpGetCurrentDirectory hConnection, sOrgPath, Len(sOrgPath)
    'create a new directory 'testing'
    FtpCreateDirectory hConnection, "testing"
    'set the current directory to 'root/testing'
    FtpSetCurrentDirectory hConnection, "testing"
    'upload the file 'test.htm'
    FtpPutFile hConnection, "C:\test.htm", "test.htm", FTP_TRANSFER_TYPE_UNKNOWN, 0
    'rename 'test.htm' to 'apiguide.htm'
    FtpRenameFile hConnection, "test.htm", "apiguide.htm"
    'enumerate the file list from the current directory ('root/testing')
    EnumFiles hConnection
    'retrieve the file from the FTP server
    FtpGetFile hConnection, "apiguide.htm", "c:\apiguide.htm", False, 0, FTP_TRANSFER_TYPE_UNKNOWN, 0
    'delete the file from the FTP server
    FtpDeleteFile hConnection, "apiguide.htm"
    'set the current directory back to the root
    FtpSetCurrentDirectory hConnection, sOrgPath
    'remove the direcrtory 'testing'
    FtpRemoveDirectory hConnection, "testing"
    'close the FTP connection
    InternetCloseHandle hConnection
    'close the internet connection
    InternetCloseHandle hOpen
End Sub
Public Sub EnumFiles(hConnection As Long)
    Dim pData As WIN32_FIND_DATA, hFind As Long, lRet As Long
    'set the graphics mode to persistent
    Me.AutoRedraw = True
    'create a buffer
    pData.cFileName = String(MAX_PATH, 0)
    'find the first file
    hFind = FtpFindFirstFile(hConnection, "*.*", pData, 0, 0)
    'if there's no file, then exit sub
    If hFind = 0 Then Exit Sub
    'show the filename
    Me.Print Left(pData.cFileName, InStr(1, pData.cFileName, String(1, 0), vbBinaryCompare) - 1)
    Do
        'create a buffer
        pData.cFileName = String(MAX_PATH, 0)
        'find the next file
        lRet = InternetFindNextFile(hFind, pData)
        'if there's no next file, exit do
        If lRet = 0 Then Exit Do
        'show the filename
        Me.Print Left(pData.cFileName, InStr(1, pData.cFileName, String(1, 0), vbBinaryCompare) - 1)
    Loop
    'close the search handle
    InternetCloseHandle hFind
End Sub
Sub ShowError()
    Dim lErr As Long, sErr As String, lenBuf As Long
    'get the required buffer size
    InternetGetLastResponseInfo lErr, sErr, lenBuf
    'create a buffer
    sErr = String(lenBuf, 0)
    'retrieve the last respons info
    InternetGetLastResponseInfo lErr, sErr, lenBuf
    'show the last response info
    MsgBox "Error " + CStr(lErr) + ": " + sErr, vbOKOnly + vbCritical
End Sub

I zauważ/rz, że ( z tego, co pamiętam, bo to powyżej żywcem ściągnęłem z api) w downloadfile jest odrazu połączenie i rozłączenie. Używam aktualnie Twojej metody (zamieniłem na dll) i jak narazie działa bez błędnie, ale nie wiem, czy się rozłącza, bo admina na gg nie ma. Ale za to przy wysyłaniu nie ma już "Still executing last request" . I masz tam mały błąd w funkcji "Connect" if connection=null then[...]. Niestety nie zakańcza funkcji nawet, jeśli connection=0. Zmień to na if connection=0 then [...]. Taka mała uwaga...


_____________________________________________
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

11-07-2004 13:08
Pokaż profil mikmas  Wyślij email do mikmas   Odwiedź stronę mikmas       3632553
Wszystkich odpowiedzi: 10 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1