Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Datatypen Variant

Postades av 2002-02-28 08:32:22 - Henrik Bodin, i forum visual basic - allmänt, Tråden har 2 Kommentarer och lästs av 418 personer

Hej,

Mitt problem är alltså datatypen variant... mitt problem är att jag vill skicka en egen datatyp som innehåller en Integer och en Sträng över en Winsock-anslutning... är detta möjligt? Funktionen "X.SendData" stödjer ju datatypen variant och min connection är det inget fel på. Har försökt att lägga den egna dataypen i en variablen av typen variant, men det går alltså inte... datatypen variant ska väl kunna lagra egna skapade datatyper?

Min egna datatyp ser ut enligt nedan:

<code>
Public Type messageType
type_of_message As Integer
message As String
End Type
<code>




Svara

Sv: Datatypen Variant

Postades av 2002-02-28 22:23:23 - Andreas Hillqvist

Det går inte att skicka datatyper på det sättet.
Du kan använd api för att kopiera minne till en bytearrya Skicka den. Sendan kopiera det tillbaks till datatypen.


Svara

Sv: Datatypen Variant

Postades av 2002-02-28 23:35:42 - Andreas Hillqvist

Exempel på hur du kan göra:
<code>
'Module: Modul1
Option Explicit

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)

Public Type Message
MessageType As Integer
MessageBody As String
End Type

Public Function MessageToByte(Message As Message) As Byte()
Dim Data() As Byte
Dim TextLength As Long
TextLength = Len(Message.MessageBody)
If TextLength < 2147483647 Then
ReDim Data(0 To 5 + TextLength)
CopyMemory Data(0), Message.MessageType, 2
CopyMemory Data(2), TextLength, 4
CopyMemory Data(6), ByVal Message.MessageBody, TextLength
MessageToByte = Data
End If
End Function

Public Function ByteToMessage(Data() As Byte) As Message
Dim TextLength As Long
CopyMemory ByteToMessage.MessageType, Data(0), 2
CopyMemory TextLength, Data(2), 4
ByteToMessage.MessageBody = Space(TextLength)
CopyMemory ByVal ByteToMessage.MessageBody, Data(6), TextLength
End Function

'Form: Form1
Option Explicit

Private Function NewMessage(MessageType As Integer, MessageBody As String) As Message
NewMessage.MessageType = MessageType
NewMessage.MessageBody = MessageBody
End Function

Private Sub Command1_Click()
Dim Data() As Byte
Dim Temp As Message
Data = MessageToByte(NewMessage(1, "Test"))

Temp = ByteToMessage(Data)
Debug.Print "Type: " & Temp.MessageType
Debug.Print "Body: " & Temp.MessageBody
End Sub
</code>


Svara

Nyligen

  • 18:37 Remove the bumper in AUDI
  • 15:35 Chicken road crash game
  • 21:41 Automotive Services UK
  • 20:44 Erfarenhet av CBD-olja mot sömnpro
  • 12:13 Sex Dolls for Sale
  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 889
27 965
271 778
6 878
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies