Ja, ich bin mir ziemlich sicher, dass die Versionsnummer vom 7zip sfx nicht mehr als Kosmetik ist. 😃
Der Dateiname ist fix, die Version soll in die entsprechenden Felder.
Moin,
ich hab hier ein kleines Problem und konnte bisher nichts brauchbares finden.
Das Problem:
Wir haben hier ein Programm und der Installer davon wird am Ende zu einem 7zip self extracting zusammen geschraubt. Dieses self extracting hat nun aber die Version von 7zip und nicht von unserem Programm.
Diese Version würde ich jetzt gerne nachträglich und automatisiert ändern. Dafür würde ich mir gerne eine kleine Consolenanwendung schreiben.
Jemand eine Idee oder einen Stichpunkt der mir helfen könnte?
Danke, dann versuche ich es mal damit. 😃
Das WPF Beispiel funktioniert bei mir leider nicht. "Dispatcher.CheckAccess()" gibt es nicht unter Windows.Threading. "new MethodInvoker" auch nicht...
Aber dann weiß ich wenigstens, wonach ich suchen muss, danke.
Was bei mir funktioniert hat (mehr für mich, damit ich es später nochmal finde):
private void FinishEvent()
{
if (Dispatcher.Thread == System.Threading.Thread.CurrentThread)
{
pbProgress.Foreground = Brushes.Green;
pbProgress.Value = 100;
pbProgress.IsIndeterminate = false;
}
else
{
Dispatcher.Invoke(DispatcherPriority.Normal, (Action)delegate { FinishEvent(); });
}
}
Hallo,
eine kurze Frage. Ich hatte das Problem, dass ich in meiner GUI abfragen möchte, ob mein Thread schon fertig ist, damit die GUI dies dann anzeigen kann. Dafür bin ich so vorgegangen, wie es in diesem Thread hier beschrieben wird:
[Lösung] Problem mit EventHandler
Das funktioniert auch. Den Thread starte ich per Knopfdruck, der rödelt im Hintergrund, die GUI läuft schön flüssig weiter und zeigt eine Progressbar an (auf IsIndeterminate, also ohne wirkliches Ziel, läuft einfach durch).
Jetzt möchte ich die Progressbar anhalten, wenn der Thread fertig ist.
Dafür hab ich einen Event geschrieben, der wird gefeuert, sobald alles andere erledigt ist was der Thread machen soll. Meine GUI-Klasse hat diesen Thread abonniert und er wird auch aufgerufen. Das Ding macht auch nichts anderes als:
private void FinishEvent()
{
pbProgress.IsIndeterminate = false;
}
Warum bekomme ich trotzdem die Meldung:
"Der aufrufende Thread kann nicht auf dieses Objekt zugreifen, da sich das Objekt im Besitz eines anderen Threads befindet."?
Ich danke dir michlG! Werde das heute gleich mal austesten! 🙂
edit: Das scheint leider nicht den gewünschten Effekt gebracht zu haben:
Du könntest den Test in etwa so schreiben:
[Test]
public void CheckID() {
bool check = true;
for(int i = 1; i <= 1000; i++) {
if (!login.CheckID(i))
{
Console.WriteLine("False bei ID: " + i.ToString();
check = false;
}
}
if (!check)
Assert.Fail("Found false, see Console for info.");
}
Das ist vielleicht nicht so schön, sollte aber funktionieren.
Moin,
mich nervt eine Kleinigkeit wenn ich mit VS2008 an einer WPF Anwendung arbeite. Bei bestimmten Änderungen bekomme ich, wenn ich zurück in den Designer wechsel, die Meldung: "An assembly or related document has been updated which requires the designer to be reloaded. Click here to reload.". Das ganze in einem gelben Balken unter den Tabs.
Bevor man da nicht geklickt hat, kann man nicht weiter im Designer arbeiten. DAS NERVT! Wenn er den Reload braucht, dann soll er doch. Kann man das irgendwo einstellen, dass er autom. reloaded wenn es nötig ist?
Der Name der Digitalen Signatur, also Eigenschaften, Reiter "Digitale Signatur" und dort der Name von der Person/Firma, der die Signatur gehört.
Hallo,
nach ein wenig unbefriedigender Suche in Google und MSDN, muss ich jetzt mal hier fragen.
Wie kann ich die Digitale Signatur (ich brauch eigentlich nur den Namen) einer Datei mit C# auslesen?
Gruß,
Feroc
mmh... erstmal danke für den Ansatz. Bei meinem aktuellen Problem bekomme ich meine Daten aus verschiedenen Quellen. Manches sind Informationen aus XML Dateien, anderes kommt aus Datenbanken und andere wiederrum einfach nur eine Liste aller Dateien direkt aus einem vorhandenen Ordner im Netzwerk.
Knackpunkt ist, dass ich am Ende eben ein Überobjekt habe, welches X Unterobjekte erstellt und jedes Unterobjekt nochmal Y Unter-Unterobjekte. Und von jedem Unter-Unterobjekt (Mitarbeiter im Beispiel) möchte ich eben auch die Informationen vom Hauptobjekt haben.
Was eher sein sollte:
"Firma hat Abteilungen, Abteilung hat Mitarbeiter"
Vererbung ist hier nirgends im Spiel.Kurz gesagt, eine Firma hat eine Liste an Abteilungen, eine Abteilung eine Liste an Mitarbeitern. Wie du das konkret implementierst, sollte dann aus deiner weiteren Planung ersichtlich sein.
Nur auch da hab ich das Problem, dass ich eben die Objekte der Liste dynamisch erzeugen muss...
Wie Bhaal schon geschrieben hat brauchst du hier keinerlei Vererbung, du erstellst einfach eine MitarbeiterKlasse (wenn die Daten aus einer Datenbank kommen hast du sogar schon die Felder), und dann füllst du einfach für jeden Datensatz ein Mitarbeiterobjekt (z. B. mit Mitarbeiter ma = new Mitarbeiter(DataRow row)Augenzwinkern diese Mitarbeiter fügst du einer List<Mitarbeiter> einer Abteilung hinzu (diese wurde auch aus der Datenbank geladen) und letztlich fügst du die Abteilung einer List<Abteilung> deiner Firma hinzu - wenn du es denn so machen möchtest.
Danke, das werde ich dann mal probieren. 🙂
edit:
Der beste Ansatz sowas zu machen (wie BhaaL schon angemerkt hat) ist es, das mit "ist ein" oder "hat ein" zu prüfen, wobei "ist ein" eine Vererbung ist und "hat ein" eine Aggregation.
Jup, natürlich. Wenn ich auf einem Schlauch steh, dann mit beiden Beinen! 😁