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.
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..
mit Marshal.SizeOf(typeof..
komme ich bei einem char[1] auf den Wert 2.
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?
ANSI hat aber auch 2 Bytes. wenn ich die Größe ermittle, erhalte ich die zweifache Zeichenanzahl als Wert zurück.
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?
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).