Zum Inhalt springen

realgun

Mitglieder
  • Gesamte Inhalte

    167
  • Benutzer seit

  • Letzter Besuch

Beiträge von realgun

  1. Also Thread.Abort lässt den Thread auch "normal" beenden, er wird halt abgebrochen. Und zwar genau an der Stelle, wo er sich gerade befindet, dabei wird eine Excption im Thread ausgelöst. Und wenn man die "ThreadAbortException" nicht richtig behandelt, können dann keine Ressourcen mehr freigegeben werden, die man im Thread angelegt hat. Der Thread selber ist dann trotzdem beendet. Sauberer ist es aber auf jeden Fall mit einem Flag.

    (Gerade weil es ein so ein einfacher Testfall ist, hilft GC.Collect hier überhaupt nicht weiter. Im Codebeispiel spielt der aber sowieso keine Rolle, da der Screenshot nach dem Beenden des Threads gemacht wurde, also in der "DO-LOOP". Zum Speicherverbrauch messen eignen sich Profiler und oder Performance Counter. )

    Aber jetzt auch mal was zur eigentlichen Frage ;)

    @NancyG: Meinst Du wirklich die Werte aus den Zeilen "Kernel"? Das sind Systemwerte, auf die alle Anwendungen Einfluss haben (nicht nur Dein .NET-Code).

  2. Wenn sich eh nur ein Thread zur gleichen Zeit im "Insert-Bereich" aufhalten darf, reicht ein Monitor vollkommen aus, da brauchst Du normalerweise überhaupt keinen Semaphor. Ich habe so ein bisschen den Eindruck, dass Du gar nicht so genau weißt wie Monitore, Semaphoren usw. funktionieren.

    Aus dem geposteten Codefragmenten kann man den Kontrollfluß nicht ablesen, da müsstest Du schon ein bisschen mehr preisgeben.

    Aber versuch es doch einfach erst mal mit einem Monitor alleine.

  3. Zu Deiner Rechnung: die Anzahl der durchschnittlichen Monatsstunden berechnet man mit (wöchentliche Arbeitsstunden * 13 Wochen) / 3 Monate

    Da die Anzahl der Arbeitsstunden in verschiedenen Monaten unterschiedlich ist, rechnet man eine durchschnittliche monatliche Stundenzahl auf der Grundlage eines Quartals aus.

    In Deinem "fiktiven" Fall also

    8666,66/((36 *13/3)= 55,56 € die Stunde

    11000/((40 *13/3)= 63,46 € die Stunde

    Hast Du dann bei Deinen echten Zahlen immer noch ein "Minus"?

  4. [...]Wenn man nur 1 bis 2 Stunden im Internet sucht, war das schon teurer also so ein 40 Euro Buch. [...]

    Vollkommen richtig, aber dennoch muss das Buch auch gelesen und verstanden werden. Nur weil ich ein Buch besitze, bin ich noch nicht schlauer als vorher...

    Hier ist leider auch ein Knackpunkt beim ein oder anderen Arbeitgeber - bestellt werden oft gerne viele Bücher, aber die Bereitschaft diese auch während der Arbeitszeit lesen / durcharbeiten zu lassen, ist meist weniger ausgeprägt.

  5. Also wenn Du bei google nach "IPC C#" suchst, findest Du eine ganze Menge brauchbare Sachen zur Kommunikation zwischen unterschiedlichen Prozessen.

    SharedMemory ist ein gemeinsamer Speicherbereich, aber eher so zu verstehen wie die "Zwischenablage". Events von den Objekten da drin wirst Du wohl nicht mitbekommen.

    Das Prinzip von IPC unter Windows ist eher der Austausch von Nachrichten (z.B. über Sockets, NamedPipes oder auch WCF), je nach Anwendungsfall auch mit "Nutzlast" (also irgendwelchen Werten). Deine Events solltest Du schon über diese Wege feuern und abfangen, Deine Idee vom gemeinsamen wird wohl so nicht funktionieren.

  6. Mit dem 2010er TFS kannst Du ja private Builds mit eigenen Shelvesets machen (und ggf. anschließend einchecken: "Gated Checkin").

    Wenn Du kein Shelveset hast, kannst Du auch einen "Desktop Build" einrichten. Dafür installierst Du Dir auf Deiner Workstation den TFS Build Agent und den TFS Build Controller und verwendest diese bei der "Build Definition". (ggf "Create Workspace" durch "Get Workspace" ersetzen, wenn Du Deinen bereits existierenden WS verwenden möchtest).

  7. Auch in den meisten anderen Fächern wird an der Uni ein Herangehen an Probleme wie von einem Mathematiker verlangt, das heißt vor allem Beweise. Es ist ein Unterschied, ob gefragt wird "Wieviel ist 1 und 1?" oder ob gefragt wird "Zeigen Sie, daß 1 und 1 zwei ergibt".

    Naja, so krass wie in Deinem Beispiel ist der Unterschied zwischen Mathe FH und Uni nun wirklich nicht. In der FH geht es mehr um die Anwendung von (in der Uni entwickelten) Methoden. Die Aufgaben lauten in der FH eher "Zeigen Sie mit Hilfe von Methode x dass der Sachverhalt y gilt", während bei der Uni meist die Methode selber "erforscht" und ggf. bewiesen werden muss: Beweisen Sie den Sachverhalt Y".

  8. Jetzt müsste man ausholen, aber kurz gesagt: Bildung ist natürlich nie kostenfrei, denn irgendwer muss das ja alles bezahlen. In Deutschland hat man sich dafür entschieden, dass als Gesellschaft zu schultern und nicht den Kostenverursacher (=Schüler/Student) dafür aufkommen zu lassen.

    Naja, der Kostenverursacher ist auch die Gesellschaft. Denn diese benötigt gebildenten "Nachwuchs" um in der bestehenden Form "überleben" zu können.

    Jetzt muss man definieren, was "kostenfreie Schulbildung" bedeuten soll.

    a1) kostenloser Schulbesuch bis Gymnasium (heute: voll erfüllt)

    B) kostenlose notwendige Materialien für Schule/Studium (heute: grossteils erfüllt bis auf Verbrauchsmaterialen - die aber für Bedürftige gestellt werden)

    Nicht ganz. Denn zur Bildung gehören auch so Sachen wie Ausflüge, Klassenfahrten, Projekte usw. Und diese Sachen sind definitiv nicht kostenlos und werden bestenfalls vom Staat bezuschusst. Bei einer kinderreichen "Hartz 4 - Familie" reichen die jedenfalls nicht für alle Kinder.

    Ich spreche hier aus Erfahrungen aus einer Kita mit angeschlossenem Familienzentrum, welche ich "aus erster Hand" bekomme.

  9. TPL hat nicht viel mit ThreadPools zu tun (außer dass diese im Hintergrund verwendet werden.)

    ThreadPools werden schon seit .NET 1.1 unterstützt.

    Ohne Delegates / Lambda Ausdrücke wird's natürlich schwer, allerdings glaube ich nicht dass Dir Reflection dabei sinnvoll helfen kann. Du könntest aber eine Klasse bauen, die ein paar Standarddelegates bereitstellt (z.B. MethodInvokerDelegate), die kannst Du ja in Methoden nach außen kapseln.

    Noch ein Tipp: Application.DoEvents solltest Du besser nicht verwenden ;)

  10. Hi,

    versuch doch ersteinmal ein Verzeichniss zu erstellen in das du alle nötigen DLLs legst. Danach registrierst du diese einfach, so das bei einem Aufruf genau diese DLLs genutzt werden.

    Hierzu solltest du den regsvr32 nutzen, in der Hoffnung das Windows Server 2008 diesen auch unterstützt.

    LG,

    Sebastian

    Ich glaube Du verwechselt da etwas. Es geht darum "externe DLLs / Libraries" mit in die Quellcodeverwaltung zu integrieren. Der TFS ist (unter anderem) ein SourceControl-Server.

    Bei uns in der Firma wird seit neuem ein Team Foundation Server für gleichzeitiges Arbeiten an einem Projekt verwendet. Nun wollen wir externe DLLs in verschiedenen Projekten verwenden. Meine Frage ist nun gibt es von Microsoft einen einheitlichen Ablegeort für DLLs, damit beim Abruf kein Fehler auftaucht wenn man die DLL nicht in einem Ordner im Projekt ablegt.

    Einen "MS-Weg" gibt es wohl nicht, zumindest ist mir keiner bekannt.

    Ein Ablegen im Debug Ordner funktioniert nicht da, dieser nicht mit auf den Team Foundation Server übertragen wird

    Der Debug Ordner ist dafür auch nicht gedacht, der wird vom Studio beim kompilieren angelegt und gefüllt.

    Leg doch einfach einen "DLL"- Ordner im Explorer innerhalb der Solution an. In diesen Ordner werden dann alle dlls kopiert. Dann legst Du in der Solution im Studio einen neuen Solutionfolder an und fügst die dlls aus dem Ordner hinzu. Entweder per Drag&Drop oder über "Add exiting item (oder ähnlich)".

    Wenn sich die Solution schon im TFS befindet, werden die dlls nun automatisch da hinzugefügt und können nach dem Einchecken von den anderen abgeholt werden. Am besten fügst Du die Referenzen auf diese DLL neu hinzu und nimmst nur die aus dem Ordner, dann sollte das bei allen funktionieren.

    Wenn die DLLs trotzdem beim kompilieren nicht gefunden werden, kann man noch in den jeweiligen Projekteinstellungen einen Referenzsuchpfad eintragen, wo der Compiler nach dlls sucht. (Dieser Ordner ist aber Benutzerabhängig, d.h. jeder muss den bei sich selber einstellen)

  11. Und was stört jetzt daran wenn Du das InitialDirectory des Dialogs festlegst? Die ausgewählte Datei musst Du so oder so validieren. Warum sollte ein User sich die Finger wund klicken wenn er beim Öffnen des Dialogs bereits im richtigen Verzeichnis ist?

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...