WOW, vielen Dank. Jetzt hab ich es endlich geschnallt.
Hab das ganze wie beschrieben mit einem Backgroundworker in eine List gepackt und damit wohl "materialisiert". Nun sind die Daten in 3sekunden da und ich kann währenddessen noch woanders hinklicken!!
VIELEN, VIELEN DANK!! SUPER So hab ich mir das vorgestellt
blurry333 schrieb:
was passiert eigentlich intern wenn eine Exception ausgelöst wird ?
Ziemlich viel.
Was entspricht diesem im Assembler Code ?
Einem Funktionsaufruf.
Was macht das Betriebssystem ?
Zusehen. (Mit anderen Worten: nichts.)
Dann wird wohl pfad oder pfad2 kaputt sein (oder der Zielordner noch nicht existieren)
Gib die beiden vor File.Move doch einfach mal aus
An "C:\Users\Thomas\Pictures\Eigene Bilder\" kommst du auch via Path.GetDirectoryName() und müsstest nur noch "Umbenannt" etc. dranhängen.
An "Bild1001.JPG" kommst du via Path.GetFileName()
Dann stell die Konfigurationswerte doch als Anwendungseinstellungen ein? Damit kannst du in der *exe.config rumeditieren so oft du willst, und es wird immer das richtige gelesen.
Hallo zusammen,
ich habe eine ListView in ASP.NET die an einen SqlDataSourc angeschlossen ist. Dieser DataSource kann ein SELECT, UPDATE, INSERT und DELETE. SELECT liest allerdings aus einer View(es werden einige Felder aus der Haupttabelle und Stammdatentabellen gejoint damit Text drin steht). Das UPDATE, INSERT und DELETE bezieht sich dann direkt auf die Tabelle.
Da in meiner View allerdings mehr Felder drin sind als in der Haupttabelle ansich musste ich bei INSERT bspw. etwas modifizieren.
Jetzt zu meinem Problem. Auf meiner Entwicklerkiste läuft alles wunderbar. Auf dem Windows 2008 R2 Server allerdings nicht(Updates sind alle drin)
Das ist die Methode wenn ein Updating des SqlDataSource angestoßen wird:
Array param = new FbParameter[e.Command.Parameters.Count];
e.Command.Parameters.CopyTo(param, 0);
List<FbParameter> parameterArray = new List<FbParameter>((FbParameter[])param);
e.Command.Parameters.Clear();
Auf dem Server bekomme ich aber plötzlich die Fehlermeldung, dass beim CopyTo der Zieldatentyp ncht gleich ist. Das habe ich dann mal überprüft und er ist gleich. Woran kann das liegen?
Jo, bin dabei.
Ich bin eigentlich Umsteiger von C++, da ich denke,
dass für meine Projekte C++ einfach unvorteilhaft wäre,
habe ich nun mit C# angefangen.
Ich habe einen Logger geschrieben,
dieser dokumentiert, wann welcher Benutzer
sich anmeldet, und nun ich will diesen so umbauen,
dass er die Uhrzeit mit einer Pseudo-Zufallszahl
multipliziert, sodass man nur mit einem bestimmten
Programm diese Uhrzeit "entschlüsseln" kann.
Der Pseudo-Zufallsfaktor wird dabei auch in eine Text-
datei hineingeschrieben.
Der Viewer[Das Entschlüsselungsprogramm] liest diesen
Faktor aus un speichert ihn. Jetzt kommt der Teil,
an dem ich hängen bleibe:
Dann liest er die verschlüsselten Zahlen aus und
devidiert diese mit dem ausgelesenen Faktor.
Wenn ich weiss, wieviele Zeichen Wert1/Wert2 (inklusive dem verbrauchen
, und diese Zahl immer gleich ist,
kann ich doch die ersten Zeichen in einen char-array und die nachfolgenden in einem anderen Array speichern. Damit dies Zeichenlänge immer dieselbe ist, muss ich Uhrzeiten [Stunden/Minuten] < 10 mit 10 multiplizieren. Richtige oder toal falsche Denkweise?
Eine Transaktion ist ein abstraktes Konzept und nicht auf Datenbanken beschränkt. Du könntest eigene transaktionale Klassen schreiben. Ich weiß leider nicht mehr, wie das in .NET funktioniert hat. Hier hab ich was gefunden, was mir vage bekannt vorkommt:
http://www.developer.com/net/net/article.php/3565196/SystemTransactions-Implement-Your-Own-Resource-Manager.htm
Auf jeden Fall könntest du das auf die Weise lösen. Das wäre aber nur die interne API, wie du Änderungen an deinem Device rückgängig machst, musst du natürlich selber wissen. Was aber schon mal gehen würde, ein TransactionScope kapselt die Datenbanktransaktion und den Zugriff auf dein Device, und wenn beim zweiten Schritt etwas schiefgeht, kann der Rollback vom TransactionScope zumindest die Datenbanktransaktion rückgängig machen.
DarkShadow44 schrieb:
sagt doch schon alles. Einfach dein C# Projekt auf x64 oder Any Cpu umstellen und es läuft ohne Probleme. Da ist doch kein hochkomplexer Umweg nötig ?
Diese Umstellung ist nicht immer klug oder erwünscht. Siehe unter anderem auch diesen Artikel:
http://blogs.msdn.com/b/rmbyers/archive/2009/06/8/anycpu-exes-are-usually-more-trouble-then-they-re-worth.aspx
Abgesehen davon können, soweit mir bekannt ist, keine 32-Bit Module aus einem 64-Bit Prozess geladen werden. Also hast du danach das Gleiche Problem in die andere Richtung
Grüssli
ok, ich werde mich wohl an services gewöhnen müssen... hab zwar schon erfahrungen, aber ich hab mich immer gewehrt dienste zu bauen...
danke für die wie immer gute hilfe hier!
hermes schrieb:
private Regex reCurrentRegex = new Regex("^[0-9]{1}\.?[0-9]{4}|^[0-9]{2}\\\?.[0-9]{4}");
Ist besser, da werde ich mich wohl noch ein wenig einarbeiten müssen.
Danke für Deine Hilfe.
Kleiner Tipp mit @ vor String-literals kannst du die Escapes sparen:
new Regex(@"^[0-9]{1}\.?[0-9]{4}$|^[0-9]{2}\?.[0-9]{4}$");
das hilft auch bei Filenames:
var superlongfilename = @"C:\Users\newuser\AppData\Roaming\"
(bei fehlenedem @ wäre zwischen Users und ewuser ein Zeilenumbruch)
Quelle:
http://msdn.microsoft.com/en-us/library/aa691090.aspx
Hallo zusammen habe vor ca. 2 Jahren ein WPF Projekt angefangen welches ich mit Visual Studio 2008 erstellt habe. jetzt habe ich das Projekt mit Visual Studio 2012 geöffnet und es wurde alles ohne Fehlermeldungen Konvertiert. Eine einzige Warnung wurde angezeigt im Migrationsbericht: "Visual Studio muss nicht funktionale Änderungen an diesem Projekt vornehmen, damit das Projekt in dieser Version und Visual Studio 2010 SP1 geöffnet werden kann, ohne dass das Verhalten von Projekten beeinflusst wird."
Wenn ich das Projekt im Debug Modus starte läuft alles einwandfrei wie vor zwei Jahren. Jetzt wollte ich an dem Projekt weiterarbeiten doch ich sehe meine Anwendungsfenster nicht in der Objektansicht. Lediglich ein graues kleines Quadrat ist zu sehen.
Der XAML Code ist jedoch vorhanden unverändert.
Wie bekomme ich meine Objektansicht wieder so hin das ich alle Buttons usw. wieder sehen?
Kennt jemand das Problem??
Hi, ich habe ne Lösung gefunden
man kann in der ZipFile Klasse den IsStreamOwner auf falsch setzten:
ZipFile.IsStreamOwner = false;
dann lässt er den Stream offen.
Allerdings funktioniert das nicht bei einen FileStream, den schließt er dann trotzdem. Ich hab mir damit geholfen,dass ich das Zip temporär in ein
MemoryStream kopiere und mit dem arbeite während ich den FileStream offen lasse und somit das File locke. Am ende Schreibe ich den Memorystream zurück.
MemoryStream tMemoryStream = new MemoryStream();
mFileStream.Position = 0;
ICSharpCode.SharpZipLib.Core.StreamUtils.Copy(mFileStream, tMemoryStream, new byte[4096]);
....
....
tZipFile = new ZipFile(tMemoryStream);
tZipFile.IsStreamOwner = false;
tZipFile.BeginUpdate();
......
....tZipFile.CommitUpdate();
tZipFile.Close();
...
...
tMemoryStream.Position = 0;
mFileStream.Position = 0;
ICSharpCode.SharpZipLib.Core.StreamUtils.Copy(tMemoryStream, mFileStream, new byte[4096]);
mFileStream.Flush();