Laden...

Forenbeiträge von freezzer Ingesamt 22 Beiträge

17.11.2009 - 11:23 Uhr

ich denke mal "spiele sind zeitverschwendung" kann man nur sagen, wenn man einen anderen ausgleich für den alltag hat
ob das jetzt sport oder eine gemütliche runde unter freunden ist, ist da ja erstmal egal
es gibt einfach leute die sich ihren tag bis auf die letzten 5 minuten zuplanen können weil sie überall dabei sind ( mein kumpel ist so einer ) die kommen dann eigentlich auch überhaupt nicht zu sowas
ich persönlich spiele gern mal ne stunde games wie gta und fahre da sinnlos durch die gegend um den kopf frei zu kriegen und mich etwas abzureagieren ... geschmackssache, solang man dabei nicht übertreibt ist so ziemlich alles in ordnung

17.11.2009 - 09:24 Uhr

bei mir läuft relativ leise radio so im hintergrund mit, krieg aber meistens nichts mit weil ich oft so ins programmieren vertieft bin dass ich um mich herum garnichts mehr wahrnehme 😁
daheim hör ich des öfteren "the subways radio" oder nur "subways radio" auf last.fm, is musik die recht gut so nebenher trällern kann ohne weiter zu stören ...

11.11.2009 - 13:12 Uhr

bin ganz eurer meinung ....
sieht auch nicht unbedingt alltagstauglich aus 😁
welche aufgaben sollen denn auf großen servern mit der sprache so verwirklicht werden? kann mir da grad relativ wenig vorstellen drunter

23.10.2009 - 10:29 Uhr

ich werds vorerst nicht einsetzen und bleib bei meinem xp ...
hätte aber höchst wahrscheinlich die möglichkeit es kostenlos von meiner schule zu bekommen

gründe gegen den umstieg:
-hab eine tv-karte die unter xp schon genug rum spakkt und ich jedes mal froh bin wenn sie endlich wieder läuft
-ich windows nur wegen games + visual studio brauche

die meiste zeit surfe, chatte und höre ich musik, da reicht xubuntu locker für mich
noch dazu funktioniert da die tv-karte gleich auf anhieb 😉

also gibts für mich speziell nichts sinnloseres als auf win7 umzusteigen 😄

07.10.2009 - 15:18 Uhr

is gut, hatte ich eh nich vor thema kann man eigentlich auch zu machen man weiß ja jetzt den grund 🙂

07.10.2009 - 15:10 Uhr

hmm, könnte man da nicht mal überlegen was leistungsstärkeres anzuschaffen? 😁 (jaja das liebe geld ...)

das problem erstmal bei mir zu suchen ist verständlich aber irgendwie auch dreist 😉
ich sitz hier an nem 1,3ghz rechner der is sobald flash im spiel is bei 100%, deswegen hab ich erstmal nen kumpel gefragt obs bei ihm geht(tats nicht) bevor ich hier nen heulthread aufmache ...
und weil er 200km weit weg sitzt kann ich mir nicht vorstellen dass wir an der gleichen leitung hängen
aber ist in ordnung hätte womöglich wirklich an mir allein auch liegen können ich weiß es nicht ....

07.10.2009 - 14:44 Uhr

moin,

Fehler: Netzwerk-Zeitüberschreitung
Der Server unter www.mycsharp.de braucht zu lange, um eine Antwort zu senden.

den ganzen tag über verteilt geht immerwieder mal die seite nich woran liegt das?
es wär etwas naiv zu denken ihr habt des selbst noch nich gemerkt aber trotzdem wollte ich mal darauf hin weisen ...

sufu benutzt mit den wörtern forum langsam unter Wünsche und Kritik, vor 2 jahren hat mal wer nen thema dazu erstellt nur weils da db-errors geworfen hat und man so nen altes thema nich ausbuddeln braucht dacht ich ich mach einfach mal nen neues ...

gruß,
freezzer

06.10.2009 - 17:35 Uhr

wenn man schon programmierkenntnisse hat taugts nur zum nachschlagen stimmt schon ...
da kann ich dann auch noch Programmieren mit C# und C# Cookbook empfehlen hab ich zum einstieg immerwieder nachgeschlagen zu Attributen und Reflektion ...
die sin alle von O'REILLY soll aba keine schleichwerbung sein is reiner zufall die lagen hier rum hab ich nich gekauft xD

06.10.2009 - 16:29 Uhr

moin,

also ich hab C# von Kopf bis Fuß gelesen und da Beispiele draus gemacht. Ich fand den Stil wies geschrieben is ganz gut.

Gruß,
freezzer

06.10.2009 - 15:08 Uhr

hmm, ok, hab ich gemacht nach dem beispiel von MSDN


private List<Type> GetAllClasses( ) {
      AppDomainSetup mAppDomSetup = new AppDomainSetup( );
      mAppDomSetup.ApplicationBase = mFile.Remove( mFile.LastIndexOf( "\\" ) );
      mAppDomSetup.PrivateBinPath = mFile.Remove( mFile.LastIndexOf( "\\" ) );

      Evidence mBaseEvidence = AppDomain.CurrentDomain.Evidence;
      Evidence mEvidence = new Evidence( mBaseEvidence );

      mAppDom = AppDomain.CreateDomain( "MyAppDomain", mEvidence, mAppDomSetup );
      // hier tritt SerialisationException auf
      mAppDom.DoCallBack( new CrossAppDomainDelegate( LoadAssemblyFromFile ) );

      Type [] mTypeArr = mAss.GetTypes( );
      List<Type> mTypeList = new List<Type>( );
      foreach( Type mType in mTypeArr ) {
            mTypeList.Add( mType );
      } // end foreach
       return mTypeList;
 } // end method GetAllClasses

private void LoadAssemblyFromFile( ) {
      try {
            mAss = Assembly.LoadFile( mFile );
            mAssNames = mAss.GetReferencedAssemblies( );
       } catch( Exception e ) {
             MessageBox.Show( e.Message );
       } // end try-Catch
} // end method LoadAssemblyFromFile

bei der kommentierten stelle tritt eine SerialisationException auf ... fehlt da noch was ?

EDIT um schöner zu formatieren ...

06.10.2009 - 14:11 Uhr

joa die dll ist die gleiche die des testprojekt einbindet und im debug hat und genau eben die lad ich dann mit Assembly.LoadFrom( kompletterpfadmitdateinameundendung ), er wirft dabei keine exception und funktionieren tuts auch nicht
befindet sich die besagte dll datei hingegen im gleichen ordner wie mein tool, mein Benchmark Tool, dann geht es, also stimmen ja assemblyname, version, kultur und publictoken überein wenns die exakt gleiche datei ist im gleichen pfad nur einmal start ich mein tool aus dem debugordner der testanwendung und einmal vom desktop aus ...
ansonsten ist da nur noch eine dll mit nem attribut von mir des aba mein tool selbst auch hat, ebenfalls gleiche datei gleicher assemblyname, versioh ...
ich achte extra drauf dass des stimmt weil ich zu anfang mal des problem hatte die methoden mit dem attribut nicht zu sehn dawei hat die version der dll in meinem tool nicht mit der im testprojekt überein gestimmt ...
oder einer der Abhängigkeiten. schließe ich persönlich rein logisch deshalb aus weil es nur eine einzige fremde dll ist ( ZedGraph.dll ) und es ja geht wenn die im gleichen ordner liegt (langsam wiederhol ich mich ja ich weiß)
ich werd die ganze zeit über das gefühl nicht los mir fehlt nur eine einzige unscheinbare zeile code, ne kleinigkeit, und dann geht alles nur ich komm nich drauf ...

06.10.2009 - 11:44 Uhr

hab nommal rumgedebugt und geschaut ...
hab die dll manuell mit Assembly.LoadFrom geladen aber er wirft bei CreateInstance immer ne TypeLoadException ...
is auch egal welche überladung ich davon hernehm ... bzw CreateInstanceFrom usw

05.10.2009 - 15:45 Uhr

ich seh grad der sucht ja immernoch im falschen ordner er müsste in
C:\Dokumente und Einstellungen\Praktikant1\Eigene Dateien\Visual Studio 2005\Projects\TestZedGraph\TestZedGraph\bin\Debug
suchen ...
aber in der Variablen steht:
mAppDomSetup.ApplicationBase:
C:\Dokumente und Einstellungen\Praktikant1\Eigene Dateien\Visual Studio 2005\Projects\TestZedGraph\TestZedGraph\bin\Debug\

mAppDomSetup.PrivateBinPath:
C:\Dokumente und Einstellungen\Praktikant1\Eigene Dateien\Visual Studio 2005\Projects\TestZedGraph\TestZedGraph\bin\Debug\

also des würd stimmen fehlt evtl die zeile die ihm sagt nimm diese AppDomain?
wie würd die zeile aussehn?

Gruß,
freezzer

05.10.2009 - 15:24 Uhr

hab grad nochmal ne exception genauer angeschaut aber ich kann nich so viel damit anfangen, screen hab ich angehängt, wie man sieht verwend ich zum testen die ZedGraph.dll in nem simplen projekt des einfach nur irgend nen graphen zeichnet ...

05.10.2009 - 15:06 Uhr

irgendwie kann ich tun was ich will es klappt nicht ...
SetPrivatePath find ich nicht die AppDomainSetup hat nur nen PrivateBinPath property meintest du das?


AppDomainSetup mAppDomSetup = new AppDomainSetup( );
mAppDomSetup.ApplicationBase = mFile.Remove( mFile.LastIndexOf( "\\" ) ) + "\\";
mAppDomSetup.PrivateBinPath = mFile.Remove( mFile.LastIndexOf( "\\" ) ) + "\\"; 

fehlermeldung ist immernoch die mit kann nicht geladen werden bzw beim Activator.GetInstance ne FileNotFound Exception
Welche Instanzierung ist denn jetzt eigentlich die bessere über Activator oder AppDomain? bei der tritt nämlich sogar ein fehler auf wenn die dlls im gleichen ordner liegen

05.10.2009 - 14:14 Uhr

ok hab die zeile weg gelassen.
nur funktionieren tuts trotzdem nicht ...
ich führe den code den ich da gepostet habe in einer methode aus und in einer anderen erstelle ich eine instanz von der klasse in der die methode mit dem attribut ist, und genau da krachts dann ...
hab gesehn mit der appdomain lassen sich auch instanzen machen aber ist das gleiche in grün, meine bisherige zeile sah so aus:


mClassInstanz = Activator.CreateInstance( pMethInf.DeclaringType );

FileNotFoundException dass er die dll nicht findet

mit AppDomain:


mAppDom.CreateInstance( mAss.FullName, pMethInf.DeclaringType.Name ); 

Der Typ "TestClass" in der Assembly "TestProject", Version ... konnte nicht geladen werden.

Wenn die dll, die das TestProject einbindet, im gleichen ordner wie das Benchmark Tool ist funktioniert alles soweit, es sei denn da is was mit Server und Datenbank usw.

EDIT: schonwieder nicht fertig gedacht, tut mir leid, da war ja noch das mit der config datei ... darüber informiere ich mich mal

05.10.2009 - 12:47 Uhr

Joa die klasse nehm ich her und geb ihm als ApplicationBase den Pfad der .exe.
Ich stell mich nur irgendwie grad ziemlich blöd an bei dem Versuch den EventHandler anzuhängen ... er sagt immer der Typ wär nicht als serialisierbar gekennzeichnet.

Hab mir mal das Beispiel von MSDN genommen und folgendes geschrieben:

 AppDomainSetup mAppDomSetup = new AppDomainSetup( );
mAppDomSetup.ApplicationBase = mFile.Remove( mFile.LastIndexOf( "\\" ) ) + "\\";

mAss = Assembly.LoadFile( mFile );
AssemblyName [] mAssNames = mAss.GetReferencedAssemblies( ); 

Evidence mBaseEvidence = AppDomain.CurrentDomain.Evidence;
Evidence mEvidence = new Evidence( mBaseEvidence );
mEvidence.AddAssembly( mAss );

mAppDom = AppDomain.CreateDomain( "MyAppDomain", mEvidence, mAppDomSetup );
 mAppDom.AssemblyResolve += new ResolveEventHandler( MyResEventHandler );

Funktioniert nicht so ganz, wobei ich vermute ich hab da wo nen Denkfehler. Dazu kommt das mit dem serialisierbar ...
Wo anders wird des in nem statischen Kontext in ner Konsolenanwendung gemacht bei mir is nich statisch ich denke mal daran liegts aba ich kanns schlecht statisch machen ...

Gruß,
freezzer

EDIT: ganz vergessen, ich werd mir mal das mit der config Datei ansehen, hatte bisher nen Bogen drum gemacht weil ich nicht weiß wie sowas aussieht

05.10.2009 - 10:54 Uhr

ok vielen dank ich glaub ich habs verstanden 😉
ich mach mich gleich ans werk und meld mich dann später wieder

Gruß,
freezzer

05.10.2009 - 10:35 Uhr

hm ja ich weiß eben nich ob die Late Binding verwenden ...
soll so nen kleines Benchmark Tool werden und die Methoden mit dem Attribut sind die die getestet werden, der Inhalt von denen ist eigentlich nur ein Methodenaufruf einer anderen Klasse aber halt dann mit Testparametern muss sich jeder selber schreiben.
Im prinzip so wie NUnit Tests ...

Das mit den AssemblyName[] habe ich irgendwo auch mal gelesen nur ich wusste erlich gesagt nicht was ich dann damit tun soll, ich habs mal durchlaufen und geladen und mal rum probiert nur geändert hats irgendwie nichts achselzuck
Hättest du da nen verständliches Beispiel irgendwo? wär nett.

Den Ordner hinzufügen ... wenn ich dich richtig verstanden hab funktioniert das nicht da ja mein Tool selbst als fertige .exe mit Oberfläche kommt und es ja für X-Beliebige Anwendungen gehen soll.

Gruß,
freezzer

05.10.2009 - 09:18 Uhr

Moin,

ich arbeite momentan an einem kleinen Projekt in dem ich über einen OpenFileDialog eine .EXE Datei einlese. Um genauer zu sein eine .EXE wie aus dem Debug Ordner eines Visual C# Windows Forms Projekts.
In der .EXE sind beliebige Klassen und eine Klasse die Methoden beinhaltet mit einem Attribut von mir.
Nun bei total simplen Anwendungen kann ich die Methoden mit dem Attribut auslesen und mit Invoke aufrufen.
Wenn die Anwendung aber jetzt .DLLs einbindet und Klassen davon hernimmt wirfts mir Exceptions.
Müsste mein Tool immer in den Debug Ordner der Anwendung, die ich testen will, kopieren weil da die .DLLs ja auch mit drin liegen.
Gibts da ne Möglichkeit wie ich per Code dynamisch die Verweise mit laden kann?

Ich lade die Datei mit

Assembly.LoadFile( mFile )

Habe was mit AppDomain und Proxy und so gefunden nur bin ich mir 1. nicht sicher ob das überhaupt das richtige ist und 2. hab ichs nicht ganz verstanden.
Ansonsten hab ich google durchstöbert und hier die SuFu benutzt und mir lief nichts über den Weg ...

Gruß,
freezzer

21.09.2009 - 15:58 Uhr

versuch nr 2 ne antwort zu schreiben 😄
forum wird wohl grad gewartet oder? ^^ egal

danke für die schnellen antworten, bin echt überrascht, da bin ich ja wirklich besser aufgehoben als bei tutorials(nix für ungut @ tutorials-fans) 😉
und entschuldigt wegen der rechtschreibung und der umgangssprache ...

hab mal google bisschen zu dem thema befragt und bin auf den EQATEC Profiler gestoßen
profiler sind wohl wirklich das was ich brauche, nur sollte ich sowas selber schreiben was ich wohl ziemlich wahrscheinlich nicht hinkriege ^^

doch mir ist jetzt klar geworden von innen lässt sich da nix messen man braucht die exe aus dem debug ordner ohne geht garnix ...

deswegen studier ich nochmal so nen kleines projekt des ich gefunden hab des aber nicht 100% das tut was ich möcht, Simple microbenchmarking in C#

kann man das so umbiegen, dass ich die exe angebe und kann dann noch über die attribute zugreifen? ich ahne es geht nicht, hoffe ich lieg falsch ^^

gruß,
freezzer

21.09.2009 - 14:49 Uhr

Hoi,
bitte köpft mich nicht gleich zu anfang wenn ihr davor bei tutorials.de wart und meinen post da gesehn habt mir hat ein klassenkamerad gesagt ich solls hier posten weil er denkt hier wird mir eher geholfen, ist ja schließlich nen forum rein für c#, nun ich find bei tutorials.de irgendwie die löschfunktion für mein thema nich deswegen verzeiht mir bitte das crossposten war keine abischt

suchfunktion hab ich benutzt und gegoogelt hab ich über eine woche

also nun zu meiner frage:
ich mache z.z. praktikum in einem betrieb die unter anderem c# benutzen, weshalb ich mich da mal einlesen sollte. nun meinte der chef zu mir er hätte gern was um seine methoden zu messen also wie lang die brauchen um zu sehn wo der flaschenhals der anwendung liegt. nach bisschen rumgoogeln hab ich paar microbenchmarking tools gefunden die mit attributen arbeiten, also hab ich mich ans werk gemacht, mich eingelesen, versucht zu verstehn wie die dinger funktionieren

jetzt hab ich also ein attribut und eine klasse die dynamisch alle methoden mit dem attribut ausliest, startet die Stopwatch aus System.Diagnostics ruft
mMethodInfo.Invoke( pMethodName, mMInfo.GetParameters( ) );
auf und stoppt die Stopwatch wieder.
Da kommt jetzt immer sowas zwischen 5 und 8 millisekunden raus.
dann hab ich ne methode gemacht mit ner wüsten berechnung die um die 3 sekunden auf meinem ultra schnellen (ironie 😉 ) 1,3ghz rechner hier im praktikum läuft (hab in der methode stopwatch start und stop und per button klick dann ausgegeben ....) auch mal mit dem attribut gemessen und da kommen au nich mehr als 10 ms raus ...

nun dann hat mir einer gesagt des könnt an multithreading liegen und dass mein invoke im thread ausgeführt wird und meine stopwatch da nicht wartet bis des fertig ist.

  1. frage: kann man da was so umbiegen dass es geht? ^^

so nun da meine erste idee da nicht ging hab ich weiter gegoogelt und hab dann vom chef den begriff NUnit gesagt gekriegt. is cool das ding, misst unter anderem auch die zeit, aber ne oberfläche wollt ich im prinzip nicht haben ich wollte dass des alles in ner .txt datei gespeichert wird und man im 1. moment garnix mitkriegt von dem messen
also
2. frage: kann ich von ner eigenen klasse aus irgendwie die zeitmessung von nunit benutzen?

bei nunit ist halt die sache man gibt das fertige ding also die .exe ausm debug ordner von visual c# 2005 mit ...
mein gedanke dagegen war ja dass das während das programm normal den gewohnten gang läuft gemacht wird bzw halt beim start davon ein mal jede methode getestet wird was an sich in der hinsicht heikel sein kann wenn man ja dann mit datenbankzugriff arbeitet

deswegen weitere fragen:
bin ich auf dem richtigen weg?
ist es überhaupt möglich ohne die .exe zu übergeben?
ist es sinnvoll?

fragen über fragen ^^

falls ihr irgendwas dazu wisst auch wenns nur das kleinste futzelchen ist bitte sagt es mir, ich bin mit meinen nerven bald am ende ich durchforste google seit tagen xD

mit freundlichen grüßen,
freezzer

EDIT(Talla): Link von Tutorials.de eingefügt