Laden...

Forenbeiträge von Gerri3d Ingesamt 57 Beiträge

15.02.2017 - 12:54 Uhr

danke für die Info. Werds jetzt in Byte ienlesen, nur hab ich das Problem das ichmit einem Fixed byte[] keine möglichkiet finde, diesen in einen String zu konvertieren.

15.02.2017 - 12:47 Uhr

Hallo, Danke für den Hinweis. Da ich eine fixe array Größe verwnde(fixed) bekomme ich die Meldung

Error CS1503 Argument 1: cannot convert from 'byte*' to 'byte[]'

Daran happerts egal wie ich das Problem lösen will. Fixed in referenz zu wandeln..

15.02.2017 - 11:49 Uhr

mit Marshal.SizeOf(typeof..
komme ich bei einem char[1] auf den Wert 2.

15.02.2017 - 11:38 Uhr

Hallo, ich greife auf einen Shared Memory zu. Dieser wird von extern mit einem String (Ascii Charackter - 1byte pro Zeichen) beschrieben.

Nun habe ich einen fixed charackter mit
C#:

  [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] 
        unsafe public struct DataExchangeEmailInTmp 
        {             
            public fixed char server[255]; 
        }	

angelegt.
Wie kann ich diesen von ANSI (sind 2 byte) auf ASCII umstellen und dann aber in C' einen String daraus machen?

15.02.2017 - 11:30 Uhr

ANSI hat aber auch 2 Bytes. wenn ich die Größe ermittle, erhalte ich die zweifache Zeichenanzahl als Wert zurück.

15.02.2017 - 11:00 Uhr

Das Proble ist etwas komplexer.

Ich bekomme von der Gegenseite Ascii Character in den shared Memory, auf der C# Seite sind diese CHarackter jedoch 2 byte. Dadurch ist der Zugriff schon mal nicht konsistent.

Wie kann ich die fixed CHAR als Ascii definieren und anschließend in einen String umwandeln für die weitere C# bearbeitung?

13.02.2017 - 21:30 Uhr

Hallo,

ich will ein (oder je ein) struct in C# mit einigen Daten zu lesen und zu schreiben.

EIn Prozes (SPS) hat definierte String Größen, somit weiß ich die Größe theoretisch.

Wie kann ich nun auf der C# Seite eine fixe Größe definieren (Referenzenieren ist ja nicht erlaubt bzw geht nicht, da ja keine fixe Größe ermittelbar ist).