Code: Alles auswählen
Procedure.s EmpfangeDaten(ID)
Daten.s = Space(999)
BytesRecieved = ReceiveNetworkData(ID, @Daten, Len(Daten))
ProcedureReturn Daten
EndProcedure
If InitNetwork()=1
Repeat
Select MessageRequester("", "Mit Server Verbinden", #MB_YESNO)
Case #IdYes
ConnectionID = OpenNetworkConnection("pop3.web.de",110)
result$=EmpfangeDaten(ConnectionID)
Debug result$
DummyUser$="USER TEST"+#CRLF$
BytesSent = SendNetworkData(ConnectionID, DummyUser$, Len(DummyUser$))
result$=EmpfangeDaten(ConnectionID)
Debug result$
DummyPASS$="PASS XYZ"+#CRLF$
BytesSent = SendNetworkData(ConnectionID, DummyPASS$, Len(DummyPASS$))
result$=EmpfangeDaten(ConnectionID)
Debug result$
CloseNetworkConnection(ConnectionID)
Case #IdNo
End
EndSelect
ForEver
EndIf
Anbei mal ein stark abgeänderter und vereinfachter Code aus meinem Programm.
Starten ihn mal im Debug-Modus und beobachtet den Prozess im Taskmanager von Windows.
Nach jeden Durchlauf, benötigt das Programm einige Bytes mehr RAM.
Es muß irgendwas mit der ewigen Dimensionierung von "Daten.s=Space(999)" zu tun haben.
Gut, ich könnte die Dimensionierung auch zum Programstart festlegen,
aber mich interessiert trotzdem warum immer einige Bytes mehr benötigt werden.
Testet bitte nicht zu oft, den der Code versucht den User "test" mit Passwort "xyz" bei Web.de anzumelden.
Gruß
Thomas