Da fehlt die Referenz auf die Instanz von Main.

So wie du es jetzt hast ist deine Variable m undefiniert.

Lösung: An geeigneter Stelle eine Referenz auf die Instanz von Main übergeben und verwenden.

...zur Antwort
oder geht es auch einfacher?

Oh ja, sogar viel einfacher:

  1. Beim Anlegen eines neuen Timers speicherst du neben den sonstigen Angaben wie z.B. Timer-ID, Beschreibung (optional), Gruppen-ID, usw. noch exakt zwei weitere Dinge: Die aktuelle Systemzeit des Servers (Startzeit des Timers) als Unix-Zeitstempel (Anzahl der Sekunden seit 01.01.1970 00:00:00) und die Laufzeit des Timers in Sekunden.
  2. Beim Abrufen des Timers nimmst du dir Beschreibung (optional), Startzeit und Laufzeit aus der Datenbank.
  3. Dann nimmst du die aktuelle Systemzeit des Servers (ebenfalls wieder als Unix-Zeitstempel) und ziehst den Startzeitpunkt davon ab. Damit hast du die im Moment gelaufene Zeit des Timers.
  4. Als nächstes werden Beschreibung (optional), momentane Laufzeit und Gesamtlaufzeit an den Client übermittelt.
  5. Alles weitere ist ab hier "Darstellungszeugs" und sollte daher im Frontend geregelt werden.

P.S.: Auf diese Weise hast du für jeden Timer höchstens zwei Schreibzugriffe: Beim Anlegen und beim Löschen. Außerdem reicht es damit aus, z.B. alle paar Minuten den lokalen Datenstand mit dem des Servers abzugleichen, was den Server in nicht geringem Maße entlastet.

...zur Antwort

Du erstellst innerhalb einer Funktion ein Objekt auf dem Stack und speicherst die Adresse dieses Objektes an einer Stelle, von der aus möglicherweise außerhalb dieses Funktionsaufrufes ber diese Adresse auf das Objekt zugegriffen werden könnte.

Allerdings existiert das Objekt nach dem Funktionsaufruf nicht mehr, so dass deine Adresse auf eine Speicherstelle verweist, die evtl. gar nicht mehr deinem Programm zugewiesen ist.

Klassischer Fall von undefiniertem Verhalten.

...zur Antwort

Weil du in der Funktion KillHim eine lokale Variable namens is_dead erzeugst und dieser den Wert True zuweist.

Die globale Variable is_dead bleibt davon unberührt.

Das liegt daran, dass eine der wichtigsten Regeln bei Python lautet: Globale Variablen können explizit und implizit gelesen werden, geschrieben nur explizit.

Lösung: Füge am Anfang deiner Funktion noch

global is_dead

hinzu.

...zur Antwort

Das liegt daran, dass System.Console.Read() einen Integerwert zurückgibt, der entweder dem Zeichencode des eingegebenen Zeichens entspricht oder -1 falls der darunterliegende Stream keine weiteren Zeichen mehr liefern kann.

Für dein Vorhaben wäre System.Console.ReadLine() eher geeignet.

...zur Antwort

3752 Bytes (ca. 3,66KiB):

<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg width="108.1506mm" height="21.245481mm" viewBox="0 0 108.1506 21.245481" version="1.1" id="svg5" inkscape:version="1.1 (c68e22c387, 2021-05-23)" sodipodi:docname="test.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview id="namedview7" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageshadow="2" inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:document-units="mm" showgrid="false" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" inkscape:zoom="1.5287037" inkscape:cx="144.894" inkscape:cy="16.6808" inkscape:window-width="1920" inkscape:window-height="1017" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:window-maximized="1" inkscape:current-layer="layer1" /><defs id="defs2"><rect x="206.71107" y="338.84918" width="586.11749" height="43.173828" id="rect28488" /><rect x="28.782557" y="32.707451" width="514.16113" height="73.264687" id="rect3157" /></defs><g inkscape:label="Ebene 1" inkscape:groupmode="layer" id="layer1" transform="translate(-25.000001,-44.592411)"><rect style="opacity:0.993;fill:#fffe0a;fill-opacity:1;stroke:#000000;stroke-width:0.149231" id="rect846" width="107.98577" height="11.242764" x="25.090208" y="44.667027" /><path id="rect892" style="opacity:0.993;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.146646" d="m 25.073324,56.073321 v 6.250166 0.04536 0.540595 h 0.07523 c 0.03631,2.940184 2.890748,2.854786 5.853824,2.854786 H 127.1322 c 2.96307,0 5.84183,-0.0065 5.85382,-2.854786 h 0.0752 v -0.540595 -0.04536 -6.250165 z" sodipodi:nodetypes="cccccsscccccc" /><text xml:space="preserve" transform="matrix(0.26458333,0,0,0.26458333,3.1948718,35.441024)" id="text3155" style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3157);fill:#000000;fill-opacity:1;stroke:none" x="490.41016" y="0"><tspan x="99.330078" y="68.097656" id="tspan75332"><tspan style="font-weight:bold;font-family:Calibri;-inkscape-font-specification:'Calibri Bold';text-align:center;text-anchor:middle" id="tspan75328">NanoLino Racing </tspan><tspan style="font-family:Calibri;-inkscape-font-specification:Calibri" id="tspan75330">Team</tspan></tspan></text><text xml:space="preserve" transform="matrix(0.26458333,0,0,0.26458333,-27.326281,-31.866026)" id="text28486" style="font-style:normal;font-weight:normal;font-size:21.3333px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect28488);fill:#ffffff;fill-opacity:1;stroke:none"><tspan x="206.71094" y="357.72458" id="tspan75342"><tspan style="font-family:Calibri;-inkscape-font-specification:Calibri" id="tspan75334">sponsored by </tspan><tspan style="font-weight:bold;font-family:Calibri;-inkscape-font-specification:'Calibri Bold'" id="tspan75336">(</tspan><tspan style="font-family:Calibri;-inkscape-font-specification:Calibri" id="tspan75338">Reddit</tspan><tspan style="font-weight:bold;font-family:Calibri;-inkscape-font-specification:'Calibri Bold'" id="tspan75340">) r/GranTurismoLiveries</tspan></tspan></text><path style="fill:none;stroke:#000000;stroke-width:0.55;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 105.07912,50.938835 h 14.46377" id="path54706" /><path style="fill:none;stroke:#000000;stroke-width:0.55;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 122.84129,50.938835 h 5.50705" id="path54706-2" /></g></svg>
...zur Antwort

Wenn A und B sowohl im selben logischen als auch im selben physikalischen (oder z.B. im Fall von VPN im selben virtuellen) Netz sind, dann ja. Und zwar unabhängig davon, wie viele Router irgendwo sind und wer welchen davon wie eingetragen hat.

...zur Antwort
Ja, schon immer...

Natürlich geht das.

Für dein beschriebenes Szenario wäre es zwar optimal, wenn die APs ein s.g. "Mesh" unterstützen, aber zur Not geht's auch so.

P.S.: Wer auch immer der besagte Nutzer gewesen sein mag, er hat offensichtlich keine Ahnung wovon er redet...

...zur Antwort
Wie in der Fehlermeldung beschrieben, habe ich .NET 6.0 Runtime in Visual Studio 2022 installiert

Genau das steht eben nicht in der Meldung.

In der Meldung ist die Rede von .NET Core Runtime.

...zur Antwort

An sich sieht der Code soweit in Ordnung aus (ein bisschen unsauber, aber in Ordnung).

Erstmal: void* bedeutet an sich nur: "Vollkommen egal, wie es deklariert wurde, solange es ein Pointer ist geht das erstmal klar."

Bedeutet: Es ist vollkommen egal, ob dein Array vom Typ uint32 (nicht uint32_t?) oder color_value ist.

Z.B. geht auch das:

struct color_value{
    uint8_t R, G, B, A;
};
auto image = new color_value[20976 * 20976];

Deinen bisherigen Breschreibungen nach, klingt es am ehesten danach, dass entweder die Farbwerte in der Reihenfolge RGBA erwartet aber in ABGR übergeben werden bzw. umgekehrt.

Stichwort: Endianess (https://de.wikipedia.org/wiki/Byte-Reihenfolge)

...zur Antwort

Schritt 1: Erstelle auf dem USB-Datenträger eine Datei namens 3e78-98eb-a4f2.id

Schritt 2: Füge an einer geeigneten Stelle das in dein Skript ein:

SET USBLETTER=?
for %%p in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%p:\3e78-98eb-a4f2.id USBLETTER=%%p

Dann kannst du abfragen, ob %USBLETTER% gleich ? ist und eine Fehlermeldung der Art "USB nix da." ausgeben, ansonsten enthält %USBLETTER% den Buchstaben des Laufwerks.

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.