Laden...

Forenbeiträge von mabo Ingesamt 334 Beiträge

14.01.2016 - 13:18 Uhr

Schau dir mal Jailer an, das könnte sein was du suchst.

Jailer is a tool for database subsetting, schema and data browsing. It exports consistent, referentially intact row-sets from relational databases. It removes obsolete data without violating integrity. It is DBMS agnostic (by using JDBC), platform independent, and generates DbUnit datasets, hierarchically structured XML, and topologically sorted SQL-DML.

Ich kann dir jetzt aber nicht sagen ob der auch aus StoredProcedures exportieren kann.

26.11.2015 - 15:24 Uhr

Falls du das Rad doch nicht neu erfinden willst: Es gibt auch C# als Skript

http://www.csscript.net/

28.10.2015 - 16:01 Uhr

Bei LocalDB reicht es nicht, dass man nur die .mdf-Datei mitkopiert, es muss auch ein SQL Server auf dem Rechner vorhanden sein.

Wurde hier schon x-mal diskutiert.

08.06.2015 - 17:07 Uhr

Dazu musst du die Schleife in einem Thread laufen lassen.
Dann kannst du die Eingabe von der Konsole einlesen während die Schleife läuft.
Anschließend merkst du dir die Eingabe in einer Variable, die du in der Schleife überprüfen kannst.

01.06.2015 - 16:26 Uhr

Aber irgendwann muss ich ja auch wieder auf meine instanzieren Wert Value in der ChannelBase Instanz zugreifen und muss den tatsächlichen Typen wissen und eine Variable von genau diesem Typen angelegen können.

Für den Code, den du da gezeigt hast, ist das nicht notwendig.
Du rufst im Endeffekt ja nur ToString() auf und was da raus kommt bestimmt die jeweilige Implementierung von ChannelBase.

edit: zu spät

01.06.2015 - 15:51 Uhr

Sind denn die Klassen Player und Item auch serialisierbar?

21.04.2015 - 16:41 Uhr

Ups, da habe ich wohl nicht richtig gelesen.

Ich würde folgendes versuchen:
Einen pre-Commit-Hook einbauen und dabei MSBuild mit deiner Solution aufrufen. Laut Doku wird der Commit dann abgebrochen wenn ein Exit-Code ungleich 0 zurück kommt.

Mein Wissen in die Richtung hört aber leider ab hier auf 😃

21.04.2015 - 15:54 Uhr

Das hat doch Parso schon im zweiten Beitrag geschrieben; hat dir aber nicht gereicht. ?(

21.04.2015 - 15:51 Uhr

Da SVN (Quellcodeverwaltung) nur ein Teil der Funktionen des TFS ist, gibt es sowas nicht von Haus aus. Man kann in den Workflow von SVN allerdings mit sog. Hooks eingreifen. In diese Richtung würde ich mal weitersuchen.

15.04.2015 - 21:26 Uhr

Quellcode runterladen und die benötigten Funktionen selber implementieren 😃

15.04.2015 - 09:47 Uhr

Das Problem lässt sich allerdings mit der eingesetzten Technik nicht bzw. nur umständlich lösen.

13.04.2015 - 15:48 Uhr

Mehr gibts aber nicht.

Ein Unit-Test muss in sich abgeschlossen sein und sollte keine Abhängigkeit haben, ob irgend ein Framework ausserhalb des Tests initialisiert ist.

Wenn das nicht möglich ist darf eben nur ein Test gleichzeitig laufen.

10.03.2015 - 10:25 Uhr

Hallo,

gibt es beim Profiler von VS 2013 die Möglichkeit, dynamisch generierte Assemblies zu profilen?

Wir verwenden die Castle.Core Bibliothek, um über einen Proxy automatisch Datenbankverbindung und Transaktionen zu verwalten (also öffnen, schliessen, commit, rollback usw). Dazu wird von Castle.Core eine Assembly zur Laufzeit generiert.

Nun wollte ich ein Performance-Problem analysieren und habe festgestellt, dass der Profiler nicht bis in konkrete DB-Methode durch dringt, sondern beim Aufruf der Proxy-Methode endet.
Ich vermute jetzt, dass der Profiler hier nicht weitergeht, da ihm ja die generierte Assembly nicht bekannt ist.

Gibt es da eine Möglichkeit, dem Profiler diese Assemblies bekannt zu machen oder muss ich auf einen anderen Profiler ausweichen, der das kann?

Gruß mabo

19.02.2015 - 15:08 Uhr

Versuch mal Agent Ransack

04.02.2015 - 14:56 Uhr

Hi,

danke für die Infos, das hat mich auf die richtige Spur gebracht.

Der Artikel Using hooks from C# und der darin verlinkte Artikel Windows Hooks in the .NET Framework sehen vielversprechend aus.

Das werde ich mal ausprobieren.

Gruß mabo

04.02.2015 - 13:04 Uhr

Hallo,

gibt es unter Windows die Möglichkeit, sich irgendwie (über einen Hook o.ä.) benachrichtigen zu lassen, wenn ein bestimmter Prozess ein neues Fenster erzeugt?

Aktuell durchsuche ich die Fensterhandles eines Prozesses nach einer bestimmten Klasse in einer Schleife und führe weitere Aktionen aus, wenn ein Ergebnis gefunden wird:


private void Run(object state)
{
	while (_running)
	{
		foreach (var handle in EnumerateProcessWindowHandles(Process.GetProcessesByName("process").First().Id))
		{
			var classname = new StringBuilder(256);
			Native.GetClassName(handle, classname, classname.Capacity);
			if (classname.ToString() == "zuSuchendeKlasse")
			{
				//...
			}
		}
		Thread.Sleep(100);
	}
}

private IEnumerable<IntPtr> EnumerateProcessWindowHandles(int processId)
{
	var handles = new List<IntPtr>();

	foreach (ProcessThread thread in Process.GetProcessById(processId).Threads)
		Native.EnumThreadWindows(thread.Id,
			(hWnd, lParam) => { handles.Add(hWnd); return true; }, IntPtr.Zero);

	return handles;
}

Jetzt würde ich gern die Schleife eliminieren wenn es geht. 🙂

Gruß mabo

12.12.2014 - 13:13 Uhr

Warum macht ihr das ganze nicht als Client-Addon anstatt zu versuchen, das Protokoll zu zerlegen?

29.08.2014 - 12:28 Uhr

Ich habe wie folgt gemessen, einmal das ganze mit Aufruf einer Methode und einmal direkt.

Debug- oder Release-Build? Hast du das ganze auch mehrmals gemacht?

Ich kann dir nur dazu raten, was zommi und weismat auch schon gesagt haben: Um ein Problem zu beheben muss man erst mal das Problem erkennen.
Ungezielt drauf los zu basteln ist immer eine schlechte Idee, denn wir alle wissen -> "premature optimization is the root of all evil".

04.06.2014 - 22:57 Uhr

Wie wärs, wenn du einfach die Gestenerkennung deaktivierst, während die Zweihandfunktion ausgeführt wird?

04.06.2014 - 22:49 Uhr

Ich denke, Request Policy macht genau das was du willst.

05.05.2014 - 09:19 Uhr

Für Pfade sollte man besser Uri.EscapeDataString verwenden. Das arbeitet im Gegensatz zu den HttpUtility-Methoden nach der RFC 2396.

Ich finde allerdings grade die Quelle dafür nicht mehr, wo genau die Unterschiede sind. Ich weißt nur, dass wir mit den HttpUtilitiy-Methoden Probleme hatten.

10.02.2014 - 08:00 Uhr

Die alten Programme haben nicht wirklich Zugriff auf geschützte Verzeichnisse, der Zugriff wird "umgelenkt" in ein spezielles Verzeichnis.

Stichwort "Virtual Store", liegt unter C:\Users\username\AppData\Local\VirtualStore

02.12.2013 - 13:40 Uhr

edit: hab grade erst gesehen dass es um Bluetooth geht. Das nachfolgende muss daher nicht unbegingt zutreffen.

da steht alles drin.

Dein Problem ist, dass du solange vom Stream lesen musst, bis du weißt, dass dein erwartetes Datenpaket vollständig beim Empfänger angekommen ist.

--> Bitte auch mit Grundlagen bzgl. TCP befassen.

27.11.2013 - 09:10 Uhr

In der Vergangenheit war es so das man Release Builds, nur dann mit Express, erstellen konnte, wenn das Profil so voreingestellt war. Express Versionen haben einfach nur die Einstellungsmöglichkeiten verweigert.

Nee das ging schon wenn man weiß, wie 😉

Zugriff auf MS Access DB mit x64 System?

Stichwort "Erweiterte Buildkonfiguration"

08.10.2013 - 15:12 Uhr

Ja ist klar (vermutlich, wie sieht die Tabellenstruktur aus?):

Das erste Insert löst eine Exception aus, also springt er in den Catch-Block und der Delete wird nicht ausgeführt.

Edit: na geht doch 😉 Wegen dem Commit, wenn der fehlschlägt gehts auch im Catch-Block weiter. Musst du wissen ob das passt.

08.10.2013 - 14:53 Uhr

Doch leider weiß ich nicht wie ich so eine Transaktion starte und abschließe 😕 ???

Dann schau in deinen ersten Beitrag, da hast du die benötigten Sachen selbst verlinkt.

08.10.2013 - 14:36 Uhr

Ja das ist klar. 🙂

Es ist aber nicht sicher, dass die zweite Transaktion klappt, auch wenn die erste erfolgreich war.

08.10.2013 - 14:25 Uhr

ich hab leider vom EF keine Ahnung.

Laut Technet ist es mit Einschränkungen möglich: Entity Framework (SQL Server Compact)

08.10.2013 - 14:07 Uhr

Also dein Vorhaben ergibt zwar keinen Sinn, aber so gehts:

Transaktion öffnen.
Ersten Insert absetzen.
Delete absetzen.
Zweiten Insert absetzen.
Transaktion committen.

Wenn der Commit durch geht kannst du dir sicher sein dass die 3 Querys erfolgreich waren.

Wenn beim Commit eine Exception fliegt -> Rollback.

Was vbprogger vorschlägt klappt leider nicht da man sich zwischen dem Commit und dem Rollback entscheiden muss.

Der SQL Server arbeitet nach dem ACID-Prinzip, d.h. entweder ganz oder gar nicht. So wie du dir das vorstellst ist es nicht möglich da zwischen dem "Testen" und dem "Ausführen" eine unbekannte Zeitspanne liegt in der alles mögliche passieren kann.

Edit: Wie stellst du dir das überhaupt vor? Tabelle löschen und dann in diese Tabelle was einfügen? Hä?

07.10.2013 - 15:59 Uhr

nur so als Hinweis, für die Verbindung zu SQL Compact brauchst du eine SqlCeConnection. Da ist wohl irgendwo eine Überprüfung auf eine SqlConnection drin.
Aber das kann man ja mit über den Stacktrace rausfinden.

SqlConnection ist ausschließlich für eine Verbindung zum MS SQL Server da. MySQL kann man damit nicht ansprechen.

Und ich stimme MrSparkle zu, was du da schreibst hört sich verwirrend an. Bitte beschreib genau wo das Problem ist und was du bisher versucht hast.

25.09.2013 - 15:21 Uhr

XPath oder Linq to XML

25.09.2013 - 13:05 Uhr

ja das ist doch logisch. Der Explorer ist ja ein eigener Prozess.

Behalte dir eine Referenz auf das Process-Objekt, dann kannst du die Id über eine Eigenschaft auslesen.

19.09.2013 - 13:39 Uhr

Was ich empfehlen würde hab ich ja schon geschrieben. 🙂
Den Rest musst du selbst entscheiden.

19.09.2013 - 11:24 Uhr

Wirf Access weg und nimm eine richtige Datenbank.

Mit dem Ansatz den du da verfolgst handelst du dir früher oder später noch viel mehr Probleme ein.

Wenn du trotzdem bei Access bleiben willst:
app.config oder das Settings-Framework: [Tutorial] Konfigurationsmodell im .NET Framework und [Artikel] Custom Settings Provider

16.09.2013 - 10:57 Uhr

Mehrbenutzerfähigkeit und "Daten auf einem USB-Stick mitnehmen" passt aber irgendwie nicht zusammen, oder?

02.09.2013 - 16:48 Uhr

Also,

ausgehend von deinem vorherigen Thread hast du jetzt eine Serialisierung für deine Datenobjekte eingebaut.

Grundsätzlich ist es eine schlechte Idee, die von Hibernate erstellten Objekte ausserhalb der Session weiterzuverwenden. Die Objekte sind nämlich "nur" Proxy-Objekte deiner Original-Klassen, um Funktionen wie Lazy Loading abbilden zu können.

Wenn du nun eine Abfrage startest und Hibernate die Objekte generiert; die Session geschlossen wird ohne dass die komplette Objektstruktur materialisiert wird, fliegt dir beim Zugriff auf eine nicht materialisierte Collection die berüchtigte Lazy Loading Exception um die Ohren. Hibernate erkennt den Zugriff und versucht nun, die Collection zu materialisieren, was auf Grund der geschlossenen Session nicht funktioniert.

Der Zugriff erfolgt durch den Serialisierungsmechanismus.

==> Du erstellst dir dedizierte Klassen für die Übertragung der Daten über den Service. Diese befüllst du innerhalb der Session komplett, so wie sie gebraucht werden. Dann läuft auch die Serialisierung leichter.

29.08.2013 - 17:49 Uhr

Der Mitarbeiter bei euerem Kunden soll sich das hier durchlesen:
PHP: a fractal of bad design

Da sollten genügend Argumente dagegen drin sein.

29.08.2013 - 16:46 Uhr

Assembly: System.Management (in System.Management.dll)

Du musst die Assembly schon referenzieren. Das sind aber Grundlagen.

29.08.2013 - 16:36 Uhr

Hallo, mein Name ist Ich hab mal schnell gegoogelt.

ManagementObjectSearcher Class gibts seit .NET 1.1

Wo ist das Problem?

27.08.2013 - 13:30 Uhr

Sie liegt auf c:\ und heißt test.s3db

Nur mal ins Blaue geraten, C:\ (bzw. die Systemplatte) ist ein geschütztes Verzeichnis.

Verschieb die Datei mal in einen Unterordner.

Allerdings müsste auch eine IOException auftreten...

27.08.2013 - 13:17 Uhr

Ne mit OrderBy kannst du dann nicht mehr arbeiten.

Das musst du dann hierarchisch abfragen (in Oracle mit Start with ... connect by, MS SQL weiß ich grade nicht wie das geht)

27.08.2013 - 10:56 Uhr

Statt dem SortIndex könntest du zu jedem Element die Id des Vorgängers oder des Nachfolgers speichern.

20.08.2013 - 13:30 Uhr

Ich habs auch mal ausprobiert.
Die 32bit-Version läuft problemlos, die 64bit-Version (autodetect) stürzt beim Start ab.

Fehlermeldung:
[Window Title]
ModernView

[Main Instruction]
ModernView funktioniert nicht mehr

[Content]
Ein Problem hat die richtige Ausführung dieses Programms verhindert. Schließen Sie das Programm.

[Programm schließen] [Programm debuggen]

Der Rechner ist ein Dell Latitude E6510 (Intel i5 M520, Intel HD Grafik) mit 8 GB RAM und Windows7 64bit.

05.08.2013 - 17:31 Uhr

In Java gibts für sowas die ChoiceFormat-Klasse.

Evtl. wäre das ein Ansatz um das in .NET zu implementieren.

Der Übersetzer müsste dann die Limits sowie die eigentliche Übersetzung bereitstellen.

05.07.2013 - 10:50 Uhr

Naja das ist doch schon recht eindeutig. 🙂

Mach deine Hobby-Objekt vergleichbar (IComparable implementieren) und bau eine Eigenschaft ein, welches die Zusammenfassungszeile kennzeichnet (sofern ich das richtig interpretiert habe, dass die Zusammenfassung auch ein Hobby-Objekt ist)

Wenn Hobby.IsSummary -> beim vergleichen immer nach ganz unten sortieren.

23.06.2013 - 15:53 Uhr

wie wärs damit: Adam 6052 ?

Ist allerdings kein USB-Gerät.

31.05.2013 - 11:57 Uhr

Mit String.Split() kommst du da nicht weit, bzw. es wird irgendwann sehr unübersichtlich.

Ein paar Stichworte hab ich für dich: 🙂

Compilerbau
EBNF
ANTLR

Willst du einen PHP-Compiler bauen?

03.05.2013 - 12:06 Uhr

Ist mir grade passiert. 😁

15.03.2013 - 13:39 Uhr

Du erzeugst UI-Elemente in 2 verschiedenen Threads. Und du hast 2 STA-Threads. Ich kenne mich in WPF zu wenig aus um das zu beurteilen, aber in WinForms kriegst du Probleme damit.

Bei der Variante, die ich oben genannt habe, kann man den dritten Thread (Init-Thread) auch weglassen.

15.03.2013 - 10:57 Uhr

Der Code-Project-Artikel ist meiner Meinung nach nicht brauchbar. DoEvents nachprgrogrammieren kann keine vernünftige Lösung sein.

Ich benutze für meine Anwendungen immer diese Variante hier:Link

Die Originalseite gibt es leider nicht mehr, aber das Internet vergisst nichts. 🙂

Die Umsetzung ist zwar für WinForms, aber das Prinzip dahinter kann man auch mit WPF umsetzen.