Forum: Win32/Win64 API (native code)
C#
by Elvis,
14. Mär 2008
Nein, ist falsch.
Du registrierst am Ende ThreadFinish als Handler für einen falsch benannten Event: OnThreadFinishHandler.
Das macht doch keinen Sinn?
Du würdest den EVENT am Ende feuern, und irgendjemand hätte sich für den registriert.
private void ThreadProc()
{
try
{
for (int i = 0; i < 100000; i++)
{
Forum: Win32/Win64 API (native code)
C#
by Elvis,
14. Mär 2008
Indem du es einfach selbst auslöst?
Forum: Win32/Win64 API (native code)
C#
by Elvis,
14. Mär 2008
Ein Delegate ist ein Hybride aus Methodenzeiger und Funktionszeiger. (man ihm kann beides zuweisen)
Da man aber oft nicht von der Signatur abhängig sein will, wurden anonyme methoden entwickelt.
Da du ganz sicher keine Methode in deiner Klasse für jeden kleinen Furz haben willst, kannst du auch anonyme Methoden nehmen.
Die sind nur lokal sichtbar und müllen dir deinen Code nicht zu. Im Code...
Forum: Win32/Win64 API (native code)
C#
by Elvis,
14. Mär 2008
Oder einfach eine anonyme Methode ohne Parameter:MethodInvoker call = delegate
{
SetStatusText(Resources.ThreadStatusFinish);
};
Invoke(call);
Forum: Win32/Win64 API (native code)
C#
by Elvis,
14. Mär 2008
Na weil da kein Invoke benutzt wurde.
Du stellst dich auch manchmal an... ;-)
Übrigens musst du nicht so umständlich mit ResourceManagern arbeiten.
Das VS erzeugt autom. statische Eigenschaften für jeden Wert in der Resource Datei, so dass du direkt auf den Namen mit dem richtigen Typ zugreifen kannst.
Forum: Win32/Win64 API (native code)
C#
by Elvis,
14. Mär 2008
Wo in deinem Code prüfst du denn, dass er abrechen soll?
Außer direkt am Anfang vor der Schleife natürlich... ;-)
Forum: Win32/Win64 API (native code)
C#
by Elvis,
14. Mär 2008
Hast du denn die Eigenschaft gesetzt, die er dir da als nicht gesetzt gemeldet hat?
Forum: Win32/Win64 API (native code)
C#
by Elvis,
14. Mär 2008
Ich selbst bin ein Fan vom BeginInvoke/EndInvoke Pattern.
Ich kann dadurch X Operationen asynchron starten, andere Dinge erledigen, und dann wenn ich das Ergebnis brauche, wartet der Code halt auf den Rückgabewert oder er hat ihn schon.
Das ganze lässt sich auch so verpacken, dass man sich eine Factory für Delegates baut, die dann entweder warten oder den bestehenden Wert zurück geben.
Um...