VB a errory

12 příspěvků

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. VB mi hlásí chybu ve skriptu, že prej nemůžu použíz nějakej Sub, že tam už je, ale on tam NENI! Mělo by to fungovat. Kdo má VB, tak si to můžu shodit na www.ondragames.wz.cz/vb/chat.zip Je to podle návodu na www.pcsvet.cz/art/article.php?id=2593
  2. Proč nikdo neodpovídá? Compile error: Procedure declarations does not match description of event or procedure having the same name Já myslel, že někdo umí VB. pls. HHEEELLLPPP MMMMEEEE!
  3. Uved sem ten kod. Jinak ti nikdo nepomuze.
  4. Celej kód nebo jenom ten sckServer_Close?
  5. Ja nevim, co to ma delat a k cemu to je. Musis podat vic informaci.
  6. takže vše tady to je: 'Uživatelský typ pro uživatele Private Type TUser 'Vyrovnávací proměnná strBuffer As String 'Přezdívka uživatele strNick As String End Type 'Pole uživatelů 'Obsahuje vyrovnávací proměnnou a přezdívku Private User() As TUser 'Ukazatel na další index polí Private actUser As Long Private Sub Form_Activate() sckListener.Listen End Sub Private Sub sckServer_Close(Index As Integer) sckServer(Index).Close End Sub Private Sub sckServer_Error(Index As Integer, _ ByVal Number As Integer, Description As String, _ ByVal Scode As Long, ByVal Source As String, _ ByVal HelpFile As String, ByVal HelpContext As Long, _ CancelDisplay As Boolean) sckServer(Index).Close End Sub Private Sub sckListener_ConnectionRequest( _ ByVal requestID As Long) 'posunutí ukazatale na další prvek actUser = actUser + 1 'předimenzování pole(se zachování obsahu) ReDim Preserve User(actUser) User(actUser).strNick = "Anonym" 'vytvoření příslušného ovládacího prvku WinSock Load sckServer(actUser) 'přijmutí spojení přes přidělený prvek sckServer(actUser).Accept requestID End Sub Private Sub sckServer_DataArrival(Index As Integer, _ ByVal bytesTotal As Long) Dim strData As String sckServer(Index).GetData strData, vbString 'Načtení dat do proměnné User(Index).strBuffer = User(Index).strBuffer + strData 'Zjištění odřádkování + případné vykonání příkazu ValidateBuffer Index End Sub 'Procedura pro 'zjištění odřádkování + případné vykonání příkazu Private Sub ValidateBuffer(Index As Integer) Dim strCommand As String Dim strCommandLine As String Dim strMsg As String 'Je odřádkováno? If InStr(1, User(Index).strBuffer, vbCrLf) Then 'Získání jedné řádky a její 'rozložení na příkaz a parametr strCommandLine = GetCommandLine(User(Index).strBuffer) strCommand = GetCommand(strCommandLine) 'Umazání řádky z Bufferu User(Index).strBuffer = GetRest(User(Index).strBuffer) 'Rozpoznání příkazu Select Case LCase$(strCommand) Case "send" If GetParam(strCommandLine) = "" Then sckServer(Index).SendData "CHYBA: Zadej parametr" + vbCrLf Else strMsg = User(Index).strNick + _ ": " + GetParam(strCommandLine) Print strMsg For c = 1 To UBound(User) If sckServer(c).State = sckConnected Then sckServer(c).SendData strMsg + vbCrLf DoEvents End If Next End If Case "nick" If GetParam(strCommandLine) = "" Then sckServer(Index).SendData "CHYBA: Zadej parametr" + vbCrLf Else User(Index).strNick = GetParam(strCommandLine) sckServer(Index).SendData "OK: Nick změněn" + vbCrLf End If Case Else sckServer(Index).SendData "CHYBA: Neznámý příkaz" + vbCrLf End Select 'Rekurzivní volání pro případ Pipeliningu ValidateBuffer Index End If End Sub 'Vezme jednu řádku z Bufferu Private Function GetCommandLine(strText As String) Dim lPos As Long lPos = InStr(1, strText, vbCrLf) GetCommandLine = Left$(strText, lPos - 1) End Function 'Vezme příkaz z řádky Private Function GetCommand(CommandLine As String) Dim lPos As Long lPos = InStr(1, CommandLine, " ") If lPos = 0 Then GetCommand = CommandLine: Exit Function GetCommand = Left$(CommandLine, lPos - 1) End Function 'Zjistí parametr z řádky Private Function GetParam(CommandLine As String) Dim lPos As Long lPos = InStr(1, CommandLine, " ") If lPos = 0 Then GetParam = "": Exit Function GetParam = Right$(CommandLine, Len(CommandLine) - lPos) End Function 'Vrátí zbytek Bufferu Private Function GetRest(strText As String) Dim lPos As Long lPos = InStr(1, strText, vbCrLf) GetRest = Right$(strText, Len(strText) - lPos - 1) End Function Je to ten sckServer_Close(Index As Integer)
  7. V tomhle se moc nevyznam. Snad pomuze tohle: http://support.microsoft.com/kb/257714/EN-US/
  8. Tak sem tam dal všechno:sp6,restartoval, ten Preferences a nic. Já se na to
  9. proč to nejde? Ptal sem se i autora, ale odpověď tu eště neni;-)
  10. Proč už žádné odpovědi? Co třeba skaff, Tom aj.
  11. Tom nic, Tom VB ovládá a v této době i často používá, ale zatím nepotřeboval dělat nic na síť ve VB, takže se mu nechce věnovat tomu ten čas aby pochopil jak to funguje. Btw stačil letmý pohled a napadá mě jedna otázka - vytvořil jsi ocx prkvy Winsock s názvy sckServer a sckListener?
  12. jo, i sckSock

← Zpět na všechna témata