Yes, it is a write-only offset and already did it like your option 1.
This is my code which works for other offsets except the simrare (local time, pause sim, send text message).
Offset<short> simrate = new Offset<short>("simrate", 0x0C1A, true);
(...)
List<string> types = new List<string>();
(...)
public void setSimrate(int val)
{
form1.write_log("Simulator", "Set -> Simrate: " + val);
simrate.Value = (short)(val * 256);
types.Add("simrate");
}
public bool Send()
{
if(form1.monitor.status.connected)
{
foreach(string type in types)
{
try
{
form1.write_log("Simulator", "Start Send -> " + type);
FSUIPCConnection.Process(0, type);
}
catch (FSUIPCException ex)
{
form1.write_log("Simulator", "Senden Fehler: " + ex.ToString());
}
}
}
(The part with the 'List' is not the best way I think but I'm not sure how to write more than one group in one process.)