Laden...
G
gn0m0r myCSharp.de - Member
Software Developer, IT-Solutions Weil am Rhein Dabei seit 12.07.2005 38 Beiträge
Benutzerbeschreibung

Forenbeiträge von gn0m0r Ingesamt 38 Beiträge

23.10.2008 - 12:08 Uhr

Hallo bluefisch200,

ich stimme McSteel in allen von ihm genannten Punkten zu.
Insgesamt sollte der Reader etwas benutzerfreundlicher und anpassbarer sein.

Das Design gefällt mir bisher allerdings schon recht gut, wobei zu überlegen wäre, die Aboverwaltung in ein eigenes Unterformular zu verlegen, damit die Hauptansicht voll den eigentlichen Feeds zur Verfügung steht.

Was passiert eigentlich, wenn neue Nachrichten eintreffen? Wird man darüber in irgendeiner Form informiert? Mir ist beim kurzen Test gerade nichts derartiges aufgefallen. Empfinde ich allerdings schon als wichtig.

Der Reader ist auf jeden Fall auf einem guten Weg, wenn du dir das Feedback der User zu Herzen nimmst.

Gruß,
gn0m0r

P.S.: Tu dir selbst den gefallen und ändere die [AssemblyCompany] in der AssemblyInfo ab. Oder stellt das Unternehmen jetzt tatsächlich Software statt Medikamente her? 😉

08.08.2008 - 10:32 Uhr

Hallo frisch,

den gleichen Gedanken hatte ich für meinen Vater und ich hab ihn in die Tat umgesetzt. Da er immer recht großen Spaß an WiiSports hatte, wenn er bei mir zu Besuch war, hat sich das, denke ich, auch gelohnt.

WiiFit liegt bei mir zu Hause ebenfalls rum. Den ersten Monat wurde es sogar mehr oder weniger regelmäßig genutzt, inzwischen verstaubt das Balance Board allerdings auch schon wieder unter dem Fernsehschrank. Da hat sich die natürliche Abneigung gegen Sport wieder durchgesetzt.
Gut gemacht sind aber sowohl die Software als auch das Balance Board.

Ich halte die Idee von daher für ausgesprochen gut.

19.07.2008 - 23:30 Uhr

Na dann mal happy birthday myCSharp.de!
Und bei der Gelegenheit auch vielen Dank für die große Hilfe und für das da Sein in den Zeiten größter Not 🙂

03.06.2008 - 07:57 Uhr

Guten Morgen zusammen.

Wir benutzen hier in der Firma seit neustem auch Sandcastle in Verbindung mit dem SHFB. Ich muss sagen, dass ich bisher sehr zufrieden. Große Fehler konnte ich nicht feststellen, die generierten Docs sind sehr ansprechend und, sofern ich sauber dokumentiert habe, auch fehlerlos.
Aus meiner Sicht ist der aktuelle Stand von Sandcastle und dem SHFB absolut für den produktiven Einsatz geeignet.

Gruß,
gn0m0r

07.01.2008 - 18:35 Uhr

Hallo blauerblubb,

erstmal danke für deinen Hinweis.
Tatsächlich habe ich das schon versucht. Bei mir tritt jedoch leider nicht der gewünschte Effekt ein. Ich habe dann zwar einen voll ausgefüllten Bildschirm, allerdings ist die Anzeige extrem unscharf, was natürlich gerade für längeres Arbeiten eher suboptimal ist.

Meine Lösung sieht jetzt so aus, dass ich die Auflösung der VM auf 1440x900 gesetzt habe. Das führt zwar dazu, dass ich keine Full-Screen-VM habe, damit kann ich allerdings noch recht gut leben.

Was ich hier am sonst sehr guten Virual PC 2007 etwas seltsam finde, ist, dass selbst wenn die Option "Auflösung des Gastbetriebssystems verwenden" gewählt wurde, dies nicht umgesetzt wird.
Das mag jedoch daran liegen, dass die emulierte Grafikkarte die erforderliche Auflösung einfach nicht darstellen kann. Kein Wunder bei all diesen seltsamen Breitband-Formate von heute 😉

03.01.2008 - 13:22 Uhr

Guten Tag zusammen,

ich hoffe, ihr alle habt es gut in das Jahr 2008 geschafft.

Ich habe mir gerade einen neuen Laptop besorgt. Auf diesem würde ich gerne eine kleine Development VM laufen lassen, auf Basis von Microsofts Virtual PC 2007. Leider steht mir die maximale Auflösung des Bildschirms, die bei 1680x1050 innerhalb der VM nicht zur Verfügung, obwohl ich die Virtual Machine Additions installiert habe.
Hat hierfür eventuell einer von euch eine Lösung?

Danke schonmal im Voraus.

Gruß vom gn0m.

20.05.2007 - 17:25 Uhr

Hallo Xqgene,

vielen Dank für das Aufgreifen meiner bescheidenen Vorschläge. 🙂
Ich habe gerade eben die neue Version eingespielt und die Sache mit
Alt+Tab funktioniert großartig.
Leider habe ich jetzt standardmäßig bei keinem Eintrag mehr ein Icon, dieses wird offensichtlich nicht mehr automatisch gesetzt. Dafür funktioniert das manuelle Setzen einwandfrei. 😉

Gruß,
gn0m0r

17.05.2007 - 13:57 Uhr

Danke für das geniale Tool.
Ich wusste bis zum ersten Test gar nicht, dass ich nach genau sowas gesucht hab. Das Teil ist definitiv eine Bereicherung und wird meinen Rechner so schnell nicht mehr verlassen!

EDIT:
Was mir noch aufgefallen ist: Geht man via Alt+Tab durch die offenen Anwendungen, so taucht die SmallToolbar hier als Symbol ohne Namen ebenfalls auf. Ich fände es ganz nett, wenn man dies ändern könnte.
Ich habe meist massig Programme offen, so dass die Liste auch ohne die SmallToolbar schon breit genug ist.
Zudem wäre eine Option zum automatischen ausblenden der Toolbar sicherlich auch noch für einige eine sehr interessante Sache.

EDIT2:
Noch etwas, das mir beim Einrichten in den Sinn gekommen ist:
Es wäre schön, wenn man das Icon, welches vor dem Eintrag angezeigt wird, selbst ausgewählt werden könnte. Ich habe einige Programme, bei denen die .exe ein anderes Icon benutzt als ich eigentlich gerne hätte. Dummerweise wird dann das Icon der .exe eingebunden, so dass ich die Programme nicht mehr anhand des gewohnten Icons identifizieren kann.

Verdammt, warum fällt mir bei "fremden" Programmen immer eine Latte an Features ein, die nützlich wären, bei eigenen aber nicht? 😉

Gruß,
gn0m0r

02.05.2007 - 13:41 Uhr

Hallo jeanfischer,

geh mal in den Design-View deines Forms. Dort markierst du dein Form und gehst auf den Reiter "Eigenschaften". Hier siehst du in der obersten Zeile mehrere Buttons, mit denen du die Ansicht umschalten kannst. Hier gehst du auf den Blitz (Events). Anschließend solltest du eine Übersicht über alle Events zu sehen bekommen, die das Form hat. Wenn du jetzt hier einen Doppelklick in das Feld neben dem Closed-Event machst, wird dir dein entsprechender Event-Handler angelegt.

Gruß,
Bastian

Edit:
Warum bin ich eigentlich immer zu langsam? 😉

13.04.2007 - 14:48 Uhr

Hallo zusammen,

offenbar hatte ich irgend einen Fehler bei der Registierung der EventHandler
für den FSW gemacht. Kann ich mir zwar nicht erklären, aber nach erneuter
Eingabe eben dieser EventHandler funktioniert alles auf wundersame Weise.

Ich sollte glaub wirklich langsam mal heim gehen 😉

Danke nochmal für die Antworten.

Gruß,
Bastian

13.04.2007 - 14:38 Uhr

Hallo herbivore, Golo,

dann mache ich offenbar etwas anderes grundsätzlich falsch.
Stellt sich jetzt nur die Frage was. Muss ich wohl mal weiter suchen.

Danke euch beiden für die prompte Antwort.

13.04.2007 - 14:19 Uhr

Schönen guten Tach,

ich stelle mal ne ziemlich einfache Frage, für die ich aber schon seit längerer Zeit einfach keine Antwort finde. Nicht ausgeschlossen, dass ich falsch Suche, aber das liegt dann an der Hitze hier 😉

Und zwar geht es darum:
Ich habe eine Applikation, die, wenn sie gestartet wird, entweder mit oder ohne GUI startet, abhängig von einem Commandline-Parameter. In beiden Fällen brauche ich jedoch einen FileSystemWatcher, der mir ein bestimmtes Verzeichnis auf Neuerungen überwacht.
Im GUI-Modus ist das auch alles kein Problem und funktioniert einwandfrei.
Im Non-GUI-Modus jedoch will das nicht so funktionieren wie ich das möchte. Das liegt daran, dass ich mit dem Application.Run nicht wirklich klar komme.
Die Applikation soll natürlich ständig laufen und auf Änderungen hin überprüfen, weshalb ich in der Main Methode via Applicatin.Run() die MessageLoop starte. Jedoch ist diese ja dann nicht wirklich mit dem FSW verknüpft, so dass da einfach gar nichts passiert.

Wenn mich mal bitte jemand in die richtige Richtung schubsen könnte, dann wäre mein Wochenende gerettet.

Danke schonmal im Voraus!

Gruß,
Bastian

12.04.2007 - 17:50 Uhr

Guten Tag zusammen,

ich melde mich mal wieder mit einer Frage zu Wort.
Diesmal geht es darum, dass ich via SQLDMO einen Datenbank-Job auf einem SQL-Server einrichten möchte. Das mit dem Job erstellen funktioniert auch so weit ganz toll (um mich mal selbst zu loben), jedoch kommt es stets zu Problemen, wenn ich zusätzlich eine Schedule einfügen will. Ohne diese macht allerdings der Job nicht all zu viel Sinn... 😉

Verabschieden tut sich mein Code übribens in der dritten Zeile des folgenden Code-Schnipsels:


jobSrv.Jobs.Add(job);	
job.AddStepToJob(step);
job.JobSchedules.Add(sched);
job.ApplyToTargetServer(config.ServerName);

Also genau da, wo ich die Schedule zuweisen möchte.

Die Fehlermeldung an dieser Stelle ist:


System.Runtime.InteropServices.COMException (0x80045243): [SQL-DMO]JobStep definition must include JobID.

Dem entsprechend habe ich schon alles abgesucht, allerdings nichts gefunden, wo ich die JobID noch hätte eintragen können.
Falls zufällig jemand schlau wird aus dem, was ich geschrieben hab, wäre ich für jede Antwort dankbar.

Gruß,
Bastian

30.05.2006 - 09:42 Uhr

Hallo bvsn,

hab hier grad noch mal im neusten Galileo OpenBook geschaut, hier wird das von dir gesuchte Thema wohl auch behandelt. Wenn du damit zufrieden wärst, hättest du Geld gespart, also click hier 😉

Gruß,
gn0m0r

29.05.2006 - 14:01 Uhr

Hi Flo23,

so sollte das gehen:

this.openFileDialog1.Filter = "Text-Dateien|*.txt";
29.05.2006 - 11:15 Uhr

Hi bvsn,

107€ für ein "Sammlerstück" ist doch schon etwas sehr happig.
Vielleicht solltest du lieber noch mal hier schauen.
Deckt auf jeden Fall auch benutzerdefinierte Steuerelemente ab.

Gruß,
gn0m0r

13.04.2006 - 09:42 Uhr

Hi plongo,

ich geh jetzt mal davon aus, dass auf dem Screenshot die Aero-Oberfläche zu sehen ist, hab ihn mir jetzt nicht angesehen, weil mir die Meldung auch schon bekannt war.
Falls es sich um diese Oberfläche handelt, hast du recht, die schluckt Leistung. Voraussetzung dafür ist, so weit ich gehört habe, eine DirectX 9.0c fähige Grafikkarte mit mindestens 128MB RAM.
Allerdings lässt sich diese Oberfläche auch ausschalten. Das sieht dann zwar nicht mehr so genial aus, dafür sollte es aber bei weitem nicht so viel Leistung fressen.

So, wenn jetzt jemand nach der Quelle meiner Infos fragt:
Sorry, keine Ahnung mehr 8o

Grüße vom gn0m

10.04.2006 - 10:22 Uhr

Hallo EvilTK,

ich glaub, ich hau mich gleich... Auf die Idee, dass die von anfang an auf "added" stehen, bin ich natürlich mal gar nicht gekommen! Dabei ist das nur mehr als logisch. Ich schieb das jetzt mal darauf, dass heute Montag ist und ich noch nicht genug Koffein intus hab...
Vielen, vielen Dank für deinen Hinweis! Ich geh jetzt erst mal ne Runde vor Freude tanzen 🙂

Grüße vom hocherfreuten gn0m

10.04.2006 - 10:11 Uhr

Hallo Noodles,

ich bin davon ausgegangen, dass die genannten Methoden auch nichts anderes machen, als die RowStates zu überprüfen, weswegen sie nicht sonderlich nützlich wären in den genannten Fällen.
Ich probier das aber mal eben aus, vielleicht hab ich ja mal Glück 😉

Danke jedenfalls für die (wie immer) unglaublich schnelle Antwort!

Edit:
Wie erwartet liefert mir DataSet.HasChanges() immer brav ein true zurück, obwohl ich das DataSet nichtmal angefasst habe. Die Methode macht also wirklich nichts anderes, als die RowStates zu überprüfen.
Ich bin also leider weiterhin auf Vorschläge angewiesen X(

Grüße vom gn0m

10.04.2006 - 09:54 Uhr

Einen wunderschönen guten Morgen wünsch ich euch

und nerv euch auch gleich mal wieder mit einem Problem 😉
Und zwar habe ich mehrere XML-Dateien (34 um genau zu sein), die ich in DataSets einlesen muss und je nach Einstellung im Speicher vorhalte oder aber in Access speichere. So oder so werden anschließend Änderungen an einigen, vielleicht auch allen, Tabellen vorgenommen, wieder entweder im Speicher oder eben an der Access-DB.
Anschließend muss ich die geänderten Tabellen (und NUR diese) zurück in XML-Dateien schreiben. "Fein", dacht ich mir, "ist ja wunderbar, da benutzt du die RowState-Eigenschaft und gut is...".
Nachdem ich das schön implementiert hatte kam der Test und was soll ich sagen... Natürlich funktioniert es nicht! Meine RowState steht jedesmal auf "Added" und nicht auf "Unchanged", wie ich das erwarten würde, wenn ich nichts dran ändere.

Jetzt such ich nach einer anderen (wenn möglich performanten) Methodik, um etwaige Veränderungen feststellen zu können. Wie gesagt, die Daten liegen entweder im Speicher vor oder aber in einer Access-DB, aus der sie zum Überprüfen wieder eingelesen werden (für den Fall wäre das mit den RowStates wohl eh nicht wirklich gut gegangen 😉).
Ich hoffe mal, irgendeiner von euch hatte mal ein ähnliches Problem und kann mir da ein wenig unter die Arme greifen.

Dank euch schonmal im Voraus!

Es grüßt der gn0m

10.04.2006 - 08:10 Uhr

Hallo Jochen 1980,

bei mir funktioniert der Link einwandfrei. Seltsam, dass du da Probleme hast.
Hier mal ein Link zum Download: http://fileforum.betanews.com/detail/PaintNET/1096481993/1

Hoffentlich funktioniert der wenigstens.

Grüße vom gn0m

07.04.2006 - 13:10 Uhr

Hallo PeterPan,

ich hab zwar keine Ahnung, ob das was damit zu tun hat, aber welchen Konstruktor benutzt du denn für dien DataSet beim Erstellen?
Ich tippe mal einfach so auf den parameterlosen. Falls das so ist, solltest dem DataSet beim Erstellen mal einen String übergeben und zwar den Namen deines Root-Nodes.
Also quasi:


DataSet ds = new DataSet("facturesExternes");

Wie gesagt, ist nur eine Vermutung.

Grüße vom gn0m

07.04.2006 - 12:50 Uhr

Hallo miketech,

na, dann is ja alles in Butter 🙂
Freut mich, dass ich auch endlich mal jemandem weiterhelfen konnte 😁

Gruß vom gn0m

07.04.2006 - 12:46 Uhr

Hallo miketech,

ich hab das mit dem MouseUp-Event gerade getestet, funktioniert super.
Wenn deine Methode natürlich auch funktioniert, wunderbar.
Ansonsten reagier, wie gesagt, einfach auf das MouseUp-Event und du hast den Effekt, den du (so weit ich das verstanden hab 😉) wolltest.

Gruß vom gn0m

07.04.2006 - 12:42 Uhr

Hallo miketech,

ich hab das mal eben schnell nachvollzogen.
Wenn ich die TextBox mit Tab anwähle, funktioniert das, wie svenson schon sagt, tadellos. Wenn ich sie allerdings mit der Maus anwähle, ist mein Text nicht selektiert.
Was folgere ich daraus?
Der Mausklick setzt die Position des Cursors NACHDEM alles selektiert wurde und hebt damit die Auswahl auf, was ja auch irgendwo logisch ist.

Musst dann wohl eher auf die Mouse-Events reagieren statt auf das Enter.
Probier's mal aus und gib ne Rückmeldung.

Gruß vom gn0m

Edit:
Ich mein natürlich den MouseUp-Event, hatte ich oben nicht ganz so klar ausgedrückt 😉

06.04.2006 - 14:44 Uhr

Hallo Snowwolf3000,

hier wird BugTracker.NET benutzt. Und wenn wir doch schon mal in nem C#-Board sind, bietet es sich doch an, ein OpenSource-Tool zu nutzen, das in eben dieser Sprache umgesetzt ist. 😉

Ich arbeite zwar nicht damit, die Leute, die das tun, sind aber, so weit ich informiert bin, ziemlich zufrieden damit.

Zu finden ist BugTracker.NET hier

Grüße vom gn0m

30.03.2006 - 20:23 Uhr

Hallo FZelle,

macht im Prinzip Sinn was du sagst, denn momentan tue ich auch nichts anderes, als den Command, den mir der CommandBuilder baut, selbst zu schreiben 😉

codeproject.com ist auch eine sehr gute Idee, da werde ich mich definitiv nochmal umsehen.

Grüße vom gn0m

30.03.2006 - 16:28 Uhr

Hallo FZelle,

so einfach ist das? Naja, ich habs ja erwartet, dass ich mir da groß nen Kopf mach und es im Endeffekt ganz einfach sein wird.
Im Prinzip hätte ich ja gar nichts dagegen, den CommandBuilder zu benutzen, Arbeit sparen ist immer gut. Aber laut diesem Bericht soll man das aus Performancegründen wenn möglich vermeiden. Ich werd mich mal daran halten und die InsertCommands selbst verfassen, jetzt da ich dank dir weiß, wie das funktioniert 🙂
Bin ja mal gespannt, wie sich das alles dann auf die Performance auswirkt, wenn ich das morgen eingebaut hab.

Auf jeden Fall jetzt schon mal vielen Dank für die ganzen Tipps und Kniffe!

Grüße vom gn0m

30.03.2006 - 09:34 Uhr

Hallo suamikim,

an sich ein richtig guter Vorschlag. Warum komm ich nicht auf sowas? 😁
Hat sich aber erledigt, ich hab inzwischen, wie von FZelle empfohlen, beim Löschen auf OleDbCommand.ExecuteNonQuery umgestellt, das rennt jetzt richtig schön schnell. Wobei ich sagen muss, dass ich es noch nicht mit einer komplett befüllten Datenbank getestet habe, weil ich noch am Code für das Befüllen am Schrauben bin. Erwartungsgemäß hab ich so meine Probleme bei der Erstellung des InsertCommands X(

Edit:
Ich erörtere jetzt mal mein SQL Problem noch etwas genauer, dann wird sicher einer von euch so freundlich sein, mich mit der Nase drauf zu stoßen, was ich da machen muss. Ist sehr wahrscheinlich ziemlich offensichtlich, aber ich komm beim besten Willen nicht drauf 🙁

Mein Code zur Erstellung des InsertCommands sieht auszugsweise so aus:


daModell.InsertCommand = new OleDbCommand("INSERT INTO D_AUFGABENMODELL (MANDANT_ID, " +
"D_AUFGABENMODELL_ID, D_EREIGNIS_ID, TERMINPLAN_ID, REF_MANDANT_ID, " +
"REF_D_AUFGABENMODELL_ID, LETZTE_AENDERUNG, RESTARTNR, ZEITVORGABE, PRIORITAET, " +
"MODELLKATEGORIE, [NAME], BESCHREIBUNG) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)", conn);

daModell.InsertCommand.Parameters.Add("MANDANT_ID", dsModell2.Tables[0].Rows[?].ItemArray[0]);
.
.
.

Natürlich würden auch für die anderen 12 Spalten die Values noch gesetzt werden, wenn ich eine Ahnung hätte, wie ich dran kommen soll.
Wie man sieht, hab ich in der RowsCollection das Problem, nicht zu wissen, welchen Index ich einsetzen muss. Das ganze soll ja allgemeingültig sein und sich nicht auf einen speziellen Datensatz beziehen.
Also, wie komm ich an meine Daten? 🤔

Grüße vom gn0m

30.03.2006 - 07:45 Uhr

Hallo Rainbird,

die XML-Dateien enthalten Daten für Batch-Abläufe, sogenannte Aufgabenmodelle, die damit konfiguriert werden.
Diese liegen eigentlich in einer Access-Datenbank auf dem Server. Leider muss momentan für jede Änderung (also jede neue Version) die komplette Datenbank wieder in die Versionsverwaltung eingecheckt werden, selbst wenn nur winzigste Änderungen vorgenommen wurden. Speicherplatzverschwendung ohne Ende.

Meine Aufgabe ist es jetzt, das ganze so zu lösen, dass XML-Files erstellt werden, die nur die veränderten Posten einer neuen Version enthalten, um so den Bedarf an Speicherplatz zu senken.

Die Access-Datenbank wird in einem vorherigen Programmschritt, für den ich nicht verantwortlich bin, vom Server geholt und in die entsprechenden XML-Files aufgeteilt.
Anschließend soll ich sie einlesen und in einer temporären Access-DB sichern, woraufhin die Änderungen vorgenommen werden können (wieder nicht mein Part).
Im Anschluss suche ich mir dann die veränderten Werte und schreibe sie in die entsprechenden XML-Files, die dann weiter verarbeitet werden können.

Ich hoffe, es ist einigermaßen klar geworden.

Nun ist mein Ansatz, dass ich eine Temp-DB lokal liegen habe, in die ich die XML-Daten schieße. Damit dann nicht beim Neustart noch alte Daten in der Datenbank vorhanden sind, lösche ich erst mal sämtliche Einträge in der DB, um sie anschließend mit den neuen Werten aus den XMLs neu zu befüllen.

Den Zwischenschritt mit der Temp-DB ist leider nötig, damit daran die Änderungen vorgenommen werden können, ansonsten wäre es wesentlich einfacher, nur mit XML zu arbeiten. Leider aber nicht möglich.

Grüße vom gn0m

29.03.2006 - 22:27 Uhr

Hallo FZelle,

erst mal vielen Dank für deine Antwort.

Leider ist es tatsächlich so, dass ich das Access zwingend benötige, da hierauf die komplette Datenbasis hier basiert, die ich leider definitiv nicht umwerfen kann.
Mein Chef würde mir ziemlich in den Hintern treten, wenn ich das auch nur anregen würde 😉

Zum OleDbCommand.ExecuteNonQuery muss ich ganz ehrlich sagen, dass ich mit den Datenbank-Zugriffen noch so gut wie überhaupt keine Erfahrung hab.
Werd mir das aber auf jeden Fall morgen mal genauer ansehen.
Wenn dadurch das Leeren der Tabellen flotter von statten geht, wäre das schonmal ein riesiger Fortschritt.

Die Insert-Commands hab ich bisher mit dem CommandBuilder erstellen lassen, da ich auch in Sachen SQL kein Held bin.
Wie ich allerdings hier gelesen hab, soll das ziemlich an der Performance nagen. Dem entsprechend muss ich mir also wohl doch nochmal Gedanken machen, wie ich die Inserts selbst implementiere.

Von Transaktionen habe ich (wer hätte es gedacht...) leider auch keinen blassen Schimmer, steht aber jetzt auf meiner Todo-Liste für morgen.

Bei weiteren Problemen (und die werden mit Sicherheit kommen, schon dank der Sache mit den selbstgeschriebenen InsertCommands), meld ich mich hier nochmal.

Dir vielen Dank für die vielen nützlichen Anregungen.

Grüße vom gn0m

29.03.2006 - 09:47 Uhr

Einen wunderschönen guten Morgen,

ich muss mich mal wieder mit einer Frage an die Community wenden.

Ausgangslage:
Ich habe mehrere XML-Files (z.Zt. sind es 13 mit einer Gesamtgröße von ca. 14,5 MB Größe). Diese lese ich beim Programmstart in verschiedene DataSets ein, die anschließend in eine temporäre Access-Datenbank geschrieben werden sollen.
Zunächst muss dabei die Datenbank geleert werden, da von einem vorherigen Programmdurchlauf eventuell noch Daten vorhanden sind.
Ich mache also zwei mal DataAdapter.Update() hintereinander, was ziemlich lange dauert. speziell im Falle eines ca. 6 MB großen XML Files mit ca 8.500 Einträgen vergeht schon mal mehr als eine halbe Minute pro Durchgang.
Für meine 13 Tabellen komme ich insgesamt auf eine elend lange Einlesezeit, die ich so einfach nicht akzeptieren kann.

Gibt es eventuell irgendwelche Tricks und Kniffe, mit denen ich die Performance der genannten Aktionen erhöhen kann?

Thanks in advance!

Grüße vom gn0m

19.12.2005 - 14:43 Uhr

Hallo norman_timo,

in dem Fall wäre es wohl besser, eine weitere Methode zu definieren, die du einmal im EventHandler aufrufst und eben auch jedes mal, wenn du sie brauchst.
So umschiffst du dann das "unschöne"

meineMethode(null, null);

Gruß,
Bastian

19.12.2005 - 13:17 Uhr

Warum hat das Ding die Struktur eines EventHandlers?
Die beiden Parameter sender und e werden doch gar nicht benutzt, oder hab ich die jetzt im Code überlesen? Wenn du sie nicht benutzt, mach dir ne neue Methode, kopier sämtliche Anweisungen raus und in die neue Methode rein.

Dann rufst du die Methode in deinem AddRange auf.

this.cbTablename.Items.AddRange(this.NEUE_METHODE());

Dabei dann nicht die Klammern hinter NEUE_METHODE vergessen, sonst hast wieder den gleichen Fehler!
Geht so natürlich nur, wenn deine NEUE_METHODE keine Parameter erwartet. Sonst diese halt angeben.

Gruß,
Bastian

EDIT: Zu deinem Edit, den ich jetzt grad nicht lesen konnte, weil ich hier geschrieben hab 😉

Ich weiß nicht, ob du den EventHandler registriert hast oder nicht. Ist aber auch erst mal egal, mach einfach das, was ich oben beschrieben hab.
Wenn du dir sicher sein solltest, dass du den EventHandler nicht brauchst, lösch die Methode. Wirst dann beim kompilieren zwar ne Fehlermeldung bekommen, aber dann löschst du einfach noch die entsprechend markierte Zeile und dann sollte das gut sein.

19.12.2005 - 13:10 Uhr

Hallo Molta,

diese Fehlermeldung bedeutet im Regelfall (zumindest bei mir immer wieder 😉 ), dass eine Methode aufgerufen wurde, ohne dass die () am Ende gesetzt wurden.

this.cbTablename.Items.AddRange(this.cbTablename_add());

wäre also erst mal geeignet, um diesen Fehler zu beseitigen.

Allerdings werden ja wohl noch 2 Parameter verlangt (object, System.EventArgs).
Dem entnehme ich mal, dass die Methode, die du aufrufst, ein EventHandler ist.
Wie genau du diesem jetzt die benötigten Parameter übergibst (bzw. wie du an diese Parameter dran kommst), kann ich dir leider auch nicht sagen.
Aber da wird sich schon noch jemand finden, denk ich mal 😉

Gruß,
Bastian

Edit: Code-Fehler beseitigt

12.12.2005 - 15:09 Uhr

Hm... Setz doch einfach hinter den Text der Tab-Page noch ein paar Leerzeichen, dann sollte die doch automatisch größer werden?

Ok, unsauber gelöst, aber hey, immerhin gelöst 😉

08.11.2005 - 14:42 Uhr

Wow, das ging schnell.
Dank dir, Noodles.
Mit dem ListView hab ich sogar schon rumgespielt, hab dann aber wohl einfach sein Potenzial nicht erfasst. Naja, das hol ich dann jetzt mal nach (hoffentlich).

08.11.2005 - 14:36 Uhr

Hi there,

wie wohl hier kaum jemand erwarten würde, habe ich ein Problem, mit dem ich mich an die Community wenden möchte.

Und zwar verhält sich das so:
In einem Form möchte ich eine Liste von Dateien anlegen, um an diesen Änderungen vorzunehmen (zum Beispiel sie umzubenennen).
Das Einlesen als solches klappt ja schon wunderbar, die Problematik liegt aber in der Anzeige. Ich möchte nämlich nicht nur den Dateinamen anzeigen lassen, sondern auch andere Dinge wie beispielsweise die Größe der Datei.
Entsprechend würde ich eine Tabelle benötigen, in der das auch brauchbar aussieht. Schön wäre es natürlich noch, wenn die Tabelle entsprechende Reiter hätte, mit deren Hilfe ich nach der jeweiligen Spalte sortieren kann (ich hoffe, ich kann mich einigermaßen verständlich machen...).

Wie ihr seht, einigermaßen genaue Vorstellungen hab ich schonmal davon, wie das aussehen soll, das Problem ist nur, dass ich absolut nicht weiß, mit welcher Komponente der Windows Forms dies zu realisieren ist, da eine einfache Tabelle ja scheinbar nicht vorgesehen ist (oder ich hab da was übersehen).
Also bitte, sagt mir, womit ich die beschriebene Tabelle abbilden kann, denn sonst dreh ich auf der Suche nach Informationen über DataGrid und DataSet und was-weiß-ich-noch-alles noch durch 😉

Mit freundlichen Grüßen,
der gn0m