Laden...
J
Jelly myCSharp.de - Member
Burden (Luxemburg) Dabei seit 09.09.2007 1.114 Beiträge
Benutzerbeschreibung

Forenbeiträge von Jelly Ingesamt 1.114 Beiträge

19.06.2009 - 08:20 Uhr

Und wenn deine SW die erste .NET ist, die auf dem Rechner gestartet wird,
kommt noch das Starten der Runtime selber hinzu.
Insgesammt kannst Du da mit 3 Sekunden eigentlich noch zufrieden sein.

Das ist mir schon klar. Ein allererster Start darf von mir aus 20 Sekunden dauern. Aber anschliessende Starts über 3 Sekunden empfinde ich einfach als zu lange (bzw. unsere User).

Aber wie gesagt, aus den 3 sind ja 1 geworden, weil es wohl doch an irgendwelchen anderen Resourcenfresser auf meinem Rechner lag.

ngen schau ich mir mal genauer an. Mal kucken ob da noch bischen rauszuholen ist. Danke jedenfalls für den Tipp.

18.06.2009 - 11:33 Uhr

@herbivore: Also, ich hab jetzt mal im Profiler noch etwas tiefer gegraben. Warum auch immer, jetzt hab ich, ohne etwas an der Applikation zu ändern, einen InitializeComponents von 1,5 Sekunden (also keine 3 mehr). Und davon gehen 326 für das Zedgraph drauf, und 260 für ein Treeview (genauer gesagt für ein TreeViewAdv. Es bleibt also noch 1 Sekunde für restliche Initialisierungen, und das ist ja schon mal ein anderer Wert als die ursprünglichen 3 Sekunden.

@Jorgen: try-catch gibts wohl keine, ist ja nur das InitializeComponents, das eben von Designer automatisch erstellt wird.

@Khalid: UserControls sind es keine.

Aber ich denke der Grund lag wohl woanders, weil aus den 3 Sekunden jetzt plötzlich ein 1,5 Sekunden wurde, lag eventuell daran, dass auf meinem Rechner noch irgendwas anderes zuviel Resourcen schluckte (Virenscanner oder sonstiges). Und auf Zedgraph und TreeViewAdv hab ich keinen Einfluss, damit muss ich leben. Und die restliche Sekunde halt ich für angemessen.

18.06.2009 - 08:59 Uhr

Nein. Einzige Fremdkomponente ist ein ZedGraph Control. Alles Andere sind TabControls, TextBoxen, Combos, TreeViews usw. Und der Konstruktor vom Zedgraph braucht 300ms. Dann bleiben aber immer noch 2,7 Sekunden zum Initialisieren.

Grob geschätzt liegen etwas 30 Controls ingesamt auf der Form.

18.06.2009 - 08:48 Uhr

Ich wollte mich mal etwas näher damit beschäftigen, warum ich gewisse Applikationen in .NET habe, die doch recht lange brauchen, bis die Hauptform angezeigt wird. Mit lange meine ich knappe 5 Sekunden. Zuerst bin ich mal davon ausgegangen, dass es an gewissen Initialisierungsroutinen von mir liegt, was denn wären einige Dinge aus einer Datenbank laden, eine Verbidnung zu einem WCF Host aufbauen usw. Nach einer Möglichkeit, das Ganze zu tunen, und genauer zu sagen, wo die Zeit verbraten wird, bin ich auf den EQATEC Profiler gestosssen. Und der sagt mir nun, dass die meiste Zeit in der Methode InitializeComponents drauf geht, und zwar in meinem konkreten Fall über 3 Sekunden. 🤔

Also mal ehrlich, ich find das ziemlich happig, zumal ja diese Methode bei jeder Instanzierung einer Form ausgeführt wird, d.h., je nach Komplexität der Unterformulare, muss der User über 3 Sekunden warten, bis seine Maske erscheint (wenn ich mal davon ausgehe, dass ich nur bei Bedarf eine neue Formularinstanz erstelle).

Ich liebe mein .NET, aber solche Dinge bringen mich manchmal zu Weissglut. Zumindest unter Winforms ist imho das Ganze GUI Gedöhns einfach nur schrottig.

Oder was meint Ihr? Wie könnte ich das Laden beschleunigen, denn auf die InitializeComponents hab ich ja keinen grossen Einfluss.

18.06.2009 - 08:00 Uhr

ASP.net unter IIS: Networkservice (Netzwerkdienst)

Soweit ich weiss aber nur auf einer Windows Server Maschine. Ich glaub, der ASP.NET Part des IIS unter XP läuft unter dem Benutzerkonto ASPNET

18.06.2009 - 07:58 Uhr

Wie FZelle schon vorschlug: Leg doch mal den ganzen Code in einen Try/Catch Block und kuck, ob du im Catch Block landest, und schreib dort die Fehlermeldung in ein Log File (mit Stack)

17.06.2009 - 08:55 Uhr

Bei rund 100.000 Datensätzen am Tag und bei 5 Clients die zeitkritische Vorgänge abwickeln müssen, würd ich mir eventuell überlegen, das Ganze über eine ApplikationServer (Stichwort WCF) abzuwickeln. Der Client schickt einfach den neuen Datensatz an denWCF Server und fertig. Ganz nach dem Prinzip "Fire and Forget". Das geht ratzfatz, und der WCF Server kann sich dann darum kümmern, die anfallenden Datensätze die er von den 5 Clients erhält, einen nach dem anderen in die Datenbank zu schreiben. Dazu wäre z.B. eine threadsichere Queue sehr hilfreich.

Das hat den Vorteil dass der Clientteil wirklich sehr schnell abgewickelt wird.

16.06.2009 - 15:24 Uhr

Das würde ich so jetzt nicht unterschreiben 😉

Ich kann auch nur von meinem Fall ausgehen, das stimmt natürlich.

16.06.2009 - 14:37 Uhr

Damit ist das ADO.Net-Konzept vonne abgekoppelten Datenverarbeitung glaub im Eimer.

Naja. Wie man's nimmt. Irgendwie brauch ich doch aber eine zentrale Id Vergabe. Ob das aus einer DB stammt, oder von mir aus von einem Webservice, spielt da nur zweitrangig eine Rolle (hat Rainbird ja auch schon weiter oben angemerkt, und ich stimm mit ihm völlig überein).

Aber die Idee, mir gleich hundert geben zu lassen ist zwar auch ok, aber dann muss der Client wieder selbst jedesmal nachschauen, ob noch eine Id aus den 100 verfügbar ist, und wenn nicht, werden sich wieder 100 geholt. Kann man natürlich schön in eine Klasse ablegen (Queue o.ä.).

Aber es ist doch aber so, dass man in den seltensten Fällen 100 Ids benötigt. Auch keine 2, sondern eben ganz oft wirklich nur eine einzige, weil ich eben nur einen Record hinzufügen möchte. Bei uns werden keine Daten in Grids eingefügt, sondern jeweils über eigene Formulare, die den User viel besser ansprechen.

Wie auch immer. Ich fahr mit meiner Methode wirklich problemlos in einer 400 Client Umgebung. Probleme gabs bislang noch nie, auch nicht auf Performance Ebene.

15.06.2009 - 11:40 Uhr

Selected != Checked

Was du vermutlich suchst ist die Eigenschaft CheckedItems deines Controls.

Oder, weil ich jetzt die Frage zu schnell gelesen hab, die Eigenschaft SelectedItems.

15.06.2009 - 08:40 Uhr

Ich verwende EkRTF. Eine wirklich nette Komponente, die weitaus mehr kann als nur mit Platzhaltern zu arbeiten. Basiert allerdings auf RTF, und nicht auf nativem Word Format.

15.06.2009 - 08:38 Uhr

ich brauch ne Klasse die von EventArgs erben kann .... kurzerhand Event Klasse

Das ist aber lediglich Konvention. Genauso gut kannst du andere Parameter in deinem EventHandler (Delegate) definieren.

Hauptzweck von Events:
Eine beliebige Klasse kann für sich gesehen, alleine existieren. Nimm diese RamWatcher Klasse, dir z.B. nichts weiter macht als in einem Timer den Ram zu prüfen. Wenn dieser unter einen Wert fällt, möchtest du diese Information an die Abonennten pushen. Wer das alles ist, muss deiner RamWatcher Klasse egal sein, denn nur so kriegst du sie aus deinem Gesamtkonzept entkoppelt. Wenn es einer andere Klasse interessiert, wenn der Ram unter 50% fällt, dann soll diese Klasse das Event abonnieren, und fertig.

12.06.2009 - 08:21 Uhr

WIE ein DB Update gefahren wird, sollte klar sein, denn es gibt imho nur eine Sprache, die das DB System versteht: SQL, also braucht es ein SQL-Skript.

Wobei meines Erachtens jedoch ein Denkfehler liegt, ist dass ein Client eine DB updaten soll. Das sind 2 getrennte Tiers, und sollten auch getrennt behandelt werden. Man darf nicht vergessen, dass solche Updates von Clients zu massiven Problemen in einer Multiuser Umgebung führen.

Ich mache das so: Ich checke beim Start der Anwendung, ob die richtige Version der DB zugrunde liegt. Die Version speichere ich in einer Tabelle der DB. Die Version wird mit der vom Client erwarteten verglichen. Wenn es dort Unterschiede gibt (DB Version ist zu neu für Client), so verweigere ich den Start des Clients mit der Meldung, es solle bitte eine neue adäquate Version des Clients aufgespielt werden.

Mein DB Update führe ich getrennt durch, oder lasse das Skript durch einen DB Admin updaten. Jedenfalls lass ich keine User an der DB Struktur rumfummeln.

12.06.2009 - 08:09 Uhr

Ich mag mich jetzt irren, aber tritt das Problem bei allen Assemblies auf oder nur bei den signierten?

09.06.2009 - 12:06 Uhr

Muss für jeden Artikel eine neue Spalte angelegt werden, oder reicht es vielleicht auch, wenn du die Artikel zu einer Eigenschaft als Komma getrennte List darstellst, also alles in einer Spalte. Dann könntest du dir eine Eigenschaft in deiner PropertyClass anlegen, die die Artikel-Liste als String darstellt.

09.06.2009 - 09:43 Uhr

Kannst du nicht einen Baum aufbauen:


+ Eigenschaft 1
---- Artikel 1
---- Artikel 2
+ Eigenschaft 2
---- Artikel 2
---- Artikel 3
04.06.2009 - 10:53 Uhr

Das wär je g***

Ob ich's jedoch in dieses Projekt einbaue finde ich ohne weiteren Tests doch etwas riskant. Wenn mir aber genug Zeit für Tests bleibt, spricht nix dagegen

03.06.2009 - 17:15 Uhr

Das ist ja schon mal vielversprechend. und Urlaub ist ja prinzipiell immer sehr fördernd 😃 ich befürchte allerdings dass ich unsere user nicht noch ne Woche vertrösten kann. mal kucken wie ich da eine temporäre Lösung implentieren kann. Wenn das mit dem kupdater für dieses projekt nicht hinhaut, dann wirds halt im nächsten projekt seine verwendung finden.

03.06.2009 - 14:18 Uhr

Alles klar. Wann denkst du denn, wann die Version veröffentlicht wird. Ich stelle eine Verteilung meiner Software inhouse auf 400 PC zusammen, und dazu wäre eine etwas genauere Aussage nötig. Wenn ich nicht mit KUpdater meine Updates verteilen kann, muss ich mir Alternativen anschauen. Ich bin aber mit KUpdater bislang mehr als zufrieden, nur dass mir in der momentanen Version leider die Möglichkeit der Impersonifikation und der CommandLine Parameter fehlen. (Mit Commandline Paramater mein ich dass die Parameter, die ich zum Start meiner Anwendung mitgebe, nach einem Update verloren gehen).

03.06.2009 - 09:07 Uhr

Wie siehts denn aus. Schon eine Idee wann du die neue Version veröffentlichen willst. Immer nur neue Ideen sammeln ist ja schön und gut, aber ich denke doch die neue Version hat mittlerweilen soviel mehr an Funktionalität, dass man sie auch mal testen könnte.

13.05.2009 - 07:55 Uhr

Jetzt bin ich ins kalte Wasser gesprungen, und zeichne die Tabelle selber.

Mich würd wirklich mal interessieren, wie lange du dafür brauchst, bis es so hinhaut, wie du es dir optisch vorstellst.

Kannst dir auch mal TEkRTF anschauen. Damit kannst du deine Vorlage in Word gestaltet, wenn du vor einem Reportdesigner so zurückschreckst.

12.05.2009 - 17:29 Uhr

Versteh ich dich richtig? Du willst eine Rechnung (=Bericht) drucken, ohne einen Bericht (=Rechnung) zu erstellen? Wie soll das gehen?

Es wird kein Weg dran vorbei führen, dein Layout der Rechnung irgendwie zu erstellen (Crystal (pfui), oder irgendeine andere ReportEngine, davon gibts wie Sand am Meer). Das wird dann als Vorlage genommen, und die eigentlichen Daten deiner Rechnung fliessen dort ein (z.B. aus einem Dataset).

11.05.2009 - 07:58 Uhr

Wie kann ich dann sicher stellen, dass die Mails auch richtig verarbeitet werden?

Gar nicht, da du keinen Einblick in den SMTP Server deines Providers hast. Wenn die Mails verschlucken, dann hilft vielleicht mal direkt beim Provider nachzuhaken, woran das liegen könnte. Von aussen hast du da keine Chance.

08.05.2009 - 08:42 Uhr

Kuck Dir mal die Factory Klassen aus dem Framework, die sind eigentlich genau für dein Vorhaben konzipiert.
z.B. hier

07.05.2009 - 08:05 Uhr

Nur weil die Mail vom Server angenommen wurde, heißt das noch lange nicht dass sie auch intern zugestellt wird.

Ganz genau. Und deshalb helfen imho nur die Log Files vom SMTP Server selbst wirklich weiter. Da der aber bei deinem Provider liegt, wirst du da wohl nicht rankommen.

06.05.2009 - 07:44 Uhr

Was du machen willst, nennt sich sniffen! Was hast du genau mit den Daten vor. Für Logging selbst sind normalerweise direkt der SMTP Server zuständig. Mailinhalte dürfen nicht mitgeloggt werden, sondern nur der Kommunikationsaufbau und eventuelle Fehler. Und Username und Passwort schon mal gar nicht.

05.05.2009 - 14:14 Uhr

Ich verweise imme wieder gern hierher.
Ich bin absoluter Freund von der Methodik. Probleme hatte ich bislang damit noch keine.

05.05.2009 - 14:08 Uhr

Nicht an eine laufende Anwendung. Es soll die 2 Zeilen höher genannte Anwendung gestartet werden. Dafür muss aber die Lieferscheinnummer übergeben werden.

Wie LaTino schon schrieb, ist das keine sonderlich gute Lösung. Ausserdem kann du aus einer Webanwendung heraus bestenfalls eine Anwendung starten, sofern es denn die Sicherheitseinstellungen des Browsers zulassen. Eine zusätzliche Parameterübergabe ist damit aber sowieso nicht möglich.

Du eigentlich nur 2 Möglichkeiten. Entweder deine EXE Anwendung wird auch eine ASP.NET Webanwendung, dann kannst du problemlos verlinken und Paramter mitgeten (get oder post).

Oder deine EXE Anwendung kontaktiert den Webservice selbst (zyklisch oder manuell, wie auch immer), um eine aktuelle Liste der Lieferscheine zu erhalten. Mit diesen kann er dann machen, was er will.

05.05.2009 - 13:36 Uhr

Ein WebService wird aufgerufen, der den Parameter (durch Request.Querystring) ausliest und an eine Windowsanwendung weiterleitet

Wenn ich dich richtig verstanden habe, soll der Webservice seine erhaltenen Daten an eine laufende Anwendung schicken?
Das ist nicht der Sinn eines Webservice, da der Webservice im Normalfall nichts über seine Konsumenten wissen muss. Er erhält in der Regel einfach nur Methodenaufrufe von beliebigen Clients und liefert diesen die gewünschten Daten zurück. Es ist also nicht der Fall, dass der Webservice seine Clients über neue Nachrichten (Lieferscheine) automatisch informiert.

30.04.2009 - 08:45 Uhr

Ich veröffenltiche einfach das Projekt und lass mir ne setup.exe erzeugen.

Wie geht das? In meinem VS2008 kann ich entweder über ClickOnce mein Projekt veröffentlichen, oder aber ich muss ein eigenes SetupProjekt anlegen. Letzteres ist wohl das was du brauchst.

29.04.2009 - 23:31 Uhr

Zusätzlich würde ich mir eine Message Box ausgeben lassen, um zu sehen ob die Methode überhaupt aufgerufen wird. Leider erscheint die Message Box zu keiner Zeit der Installation, und das Programm wird auch nicht in die Autostart eingefügt.

Wann denkst du denn würde die Routine denn ausgeführt werden. Ich hab ja schon mal erwähnt, dass der Code bei einer MSI Installation ausgeführt wird. Deshalb die Frage: Wie installierst du denn überhaupt dein Programm?

29.04.2009 - 11:04 Uhr

Die Installer Klasse ist gedacht, um bei einer regulären MSI Installation deines Programms ausgeführt zu werden (der Install Teil beim Installieren, der Uninstall Teil beim Deinstallieren). Beim normalen Start der Anwendung wird der Coder aber nicht ausgeführt.

29.04.2009 - 10:55 Uhr

Du hast in der Program.cs normalerungefähr folgendes Konstrukt:

static class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main(string[] args)
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new MainForm());
    }
}

Falls dir die Paramter string[] args fehlen, dann musst du die eventuell ergänzen. Jedenfalls hast du in diesem Array die Startparameter stehen, die du auswerten kannst.

Um einen Befehl an eine laufende Instanz zu schicken, musst du eine Kommunikationsschnittstelle haben. Das geht z.B. über Windowsbotschaften, dafür muss das aufrufende Programm aber das Fensterhandle der Fremdanwendung haben, was nicht immer so eveident herauszufinden. Ausserdem können mehrere Instanzen eines Programms gestartet sein... an welches soll dein Befehl dann gerichtet werden.

Besser ist, du baust dir selbst eine Kommunikationsschnittstelle auf. Die Forumsuche nach WCF oder Remoting sollte dir dabei helfen.

29.04.2009 - 08:01 Uhr

Dafür gibts doch SQL.


Select Id, Vorname, Name, Plz, Ort from Tabelle where 
Vorname like @search or Name like @search or Plz like @search or Ort  like @search

Und den @search Parameter definierst du z.B. als %Uschi%

Ich denke, der Compact Server unterstützt keine Volltextsuche. Beim grossen Bruder wäre das dann noch einfacher, ist aber wohl für diese Frage nicht relevant.

28.04.2009 - 15:33 Uhr

mit System.ServiceProcess.ServiceController.ExecuteCommand(int command) kann man aber benutzerdefinierte Anweisungen an den Dienst senden.

Ja, das stimmt allerdings. Aber ist es denn aber nicht so, dass damit nur ein Int-Parameter übergeben werden, und das wars dann. Einen Rückgabewert zum Client gibts auch nicht, oder? (void)

Das mag in eingen Fällen vielleicht ausreichen, aber imho ist das schon etwas minimalistisch.

28.04.2009 - 08:04 Uhr

Ansonsten gibt es wie auch schon erwähnt noch die Möglichkeit einer Steuerung des Dienstes über WCF oder Remoting.

Die ServiceController Klasse bietet nur Methoden an, um den Status eines Dienstes abzufragen und Dienste zu starten oder stoppen (im Groben). Um konkret mit dem Dienst zu kommunizieren, sprich ihm Befehle zu geben, muss eine Schnittstelle her. Der ServiceController alleine kommt da nicht weit...

Von daher finde ich deine Aussage etwas irreführend, da man denken könnte, man könnte die gesamte Kommunikation über ServiceController abwickeln. Dem ist aber nicht so, und daher muss was anderes her... gennant wurden Remoting und WCF.

27.04.2009 - 15:29 Uhr

Würde es wie folgt machen (bin gerade auf die Idee gekomme): erstelle jetzt mit dem SCHTASKS Kommandozeilenbefehl einen geplanten Task mit 10 Sekunden Verzögerung.

Da kann ich angeben, dass er die Batchdatei als SYSTEM startet.

In 20 Sekunden lösche ich den Task dann wieder.

Du denkst zu viel um tausend Ecken und hast nachher eine Bastellösung. Ich würde es beim Service belassen, diesem aber eine Kommunikationsschnittstelle spendieren, um von aussen dem Service Befehle schicken zu können. WCF bietet sich eigentlich hierfür an, da kannst du dann auch direkt im Service noch Authentifizierungen einbinden, und z.B. nur Admins das Recht geben, einen Befehl an den Service zu schicken.

27.04.2009 - 14:58 Uhr

Mit einem Timer habe ich auch schon geliebäugelt, aber ich muß warten bis die
Ablaufverfolgung komplett ist, weil ich im Anschluß eine Protokoll generieren muß.
Ich weiß jetzt nicht, wie ich dies bewerkstelligen soll.

Du bist doch schon auf dem richtigen Weg. Du startest deine 5 minütige Abfrage ja schon in einem eigenen Thread. Und da du ja den Backgroundworker Komponente nutzt, hast du doch das Event RunWorkerCompleted das dir doch genau mitteilt, wann deine Abfrage fertig ist. In Code darin stoppst du deinen Timer, der die im 5 Sekundentakt das Grid aktualisiert, aktualisierst das Grid ein letztes Mal und bist fertig.

27.04.2009 - 14:01 Uhr

Es ist eher störend, dass du im Hauptthread ein Sleep(5000) einbaust, denn das friert dir die Gui ein. Und weil du in einer While Schleife hängst, wird deine Gui auch nicht automatisch neu gezeichnet, was auch der Grund ist, warum du ein Application.DoEvents aufrufen musst.

Ich würde eher dazu neigen, auch das Laden des Protokolls in einem BackgroundWorker zu erledigen, und diesen Thread über einen Timer im Hauptthread alle 5 Sekunden aktivieren.

27.04.2009 - 13:50 Uhr

Dann gruppier doch einfach deine Funktionalität für die 30 Datenbanken in einem Dienst, z.B. in dem du eine Config File benutzt um die DB Liste zu definieren.

24.04.2009 - 14:12 Uhr

aber mit mathlab und co. ist es auch möglic sowas zu lösen. also warum nich in c#?

Ich hab eigentlich auch nicht behaupten wollen, dass sowas in C# nicht geht, sondern nur dass die Mathematik dahinter schwer genug ist, um es generell umzusetzen. Es gibt Funktionen, die z.B. auf den ersten Blick leicht aussehen, die dann aber die skurilsten Stammfunktionen hervorbringen. Integralrechnung ist nun mal um einiges komplizierter as Differentialrechnung...

Eine dieser Funktionen ist z.B.

f(x) = 1 / Wurzel(1-x^2)
=> F(x) = arccos(-x)

krass, oder?

24.04.2009 - 08:03 Uhr

Du schneidest eine echt komplizierte Thematik an. Worum es dir geht, ist wohl das Berechnen der Stammfunktion aus einer Funktion, und das kann eine echte Herausforderung werden. Da haben schon andere schlaue Jungs sich echt die Zähne dran ausgebissen. Und mit schlauen Jungs mein ich die Entwickler von profesionellen Werkzeigen wie Mathematica, Maple oder Matlab.

Ich persönlich würd sowas nicht angehen.

23.04.2009 - 15:55 Uhr

Darfst du die Url rausgeben, dann könnt ich mir das wsdl Teil mal ankucken.

23.04.2009 - 11:54 Uhr

Ist schon umgesetzt und kommt dann mit der 1.4er 🙂

Bestens 👍

23.04.2009 - 08:59 Uhr

Eine Bitte oder Frage hätte ich. Kann sein, dass das in der Vergangenheit schonmal erwähnt wurde, falls ja, machts ja auch nichts weiter das nochmals zu fragen.

Es geht mir um Startparameter einer Applikation, die nach einem Updatevorgang verloren gehen. Ich starte meine Anwendung mit einem Parameter /id=123 z.B. Beim Start prüfe ich mittels KUpdate auf eine neue Version. Falls vorhanden, wird der Updatevorgang gestartet und meine eigentliche Anwendung gestoppt. Nach dem Update besteht ja dann die Möglichkeit, in der Definition des Update Packages z.B. wieder automatisch meine Anwendung zu starten. Nur mit einem Problem: Mein vorher übergebene Parameter /id=123 ist verloren, d.h. ich kann meine Applikation nur noch normal oder mit fixen Parametern starten, und das führt bei uns zu einem Scenario das z.Z. den KUpdater leider unbrauchbar macht.

Zur Lösung wäre es hübsch, wenn man also in der Parametermaske (UpdatePaket->Starten->Parameter) irgendwie angeben könnte, dass die ursprènglichen Parameter auch mit übertragen werden können.

Meinst du, sowas sei auf die Schnelle realisierbar?

23.04.2009 - 07:48 Uhr

Der MS-SQL Server bietet diese Möglichkeit über SQLDependency. Jürgen

Genauer gesagt ab Version 2005.

17.04.2009 - 15:31 Uhr

Kann mir jemand dabei helfen?

Genau aus dem Grund gibts die Parameter für dein MySqlCommand Objekt. Du solltest niemals dein Insert-Sql-Befehl aus Strings selbst zusammenstricken.

16.04.2009 - 14:08 Uhr

ebensogut könntest du versuchen pinguinen das fliegen beizubringen.

Ich hab schon selbst Pinguine fliegen lassen, und zwar 540m weit 😃

Im Ernst jetzt: ich glaub das nicht, dass einige Leute due Begabung haben, abstrakt und logisch zu denken, und andere nicht und dies dann anscheinend auch nicht erlernen können. Meines Erachtens ist es einfach eine Sache, inwiefern man sich mit der Materie oder Thematik auseinandersetzen will. Ich selbst habe Physik studiert, und ich hab echt angefangen an mir selbst zu zweifeln bis hin zum studium schmeissen, weil ich die Sache mit der Quantenmechanik einfach nicht raffte. Es ging mir einfach nicht in den Kopf rein, bis es endlich, nach zisch Lehrbüchern, endlich klick gemacht hat, und ich wieder vorwärts kam. Ich hätte auch aufgeben können und würde heute ins Schema passen, dass mir bei nicht vorhandenem abstrakten Denken jeglicher Zugang zur Quantenmechanik von vorherein verschlossen bliebe.

Aber mir geht es einfach auf die Nerven, das Programmieren so darzustellen, als wäre es der Gipfel intellektueller Betätigung.

Dem kann ich nur zustimmen, aber sowas findest du in jeder Berufsparte. Ärzte, BWLer, Rechtsanwälte, Politiker... allesamt denken sie dass ohne sie die Welt aufhört zu drehen. (Und dabei ist die Welt doch nicht deterministisch und alles passiert nach dem Zufallsprinzip.

Aber um mal auf die Ausgangsfrage zzurückzukommen, ob denn gute Mathematikkenntnisse absolut fordernd sind um Programmieren zu können, dazu kann ich nur sagen, das hängt doch schwer davon ab, was du gerade machst. Entwickelst du von morgens bis abends Kassensysteme und schreibst Datensätze in Datenbanken, dann ich die Antwort mit hoher Wahrscheinlichkeit NEIN. Bist du aber daran beteiligt, eine Beta Version eines MSSQL 2012 DB Servers zu schreiben, dann sind richtig gute mathematische Kenntnisse ein absolutes Muss.

Wer Informatik an einer Uni studiert, wird aber nicht darauf getrimmt, Anwendersoftware zu schreiben, sondern ihm werden vorwiegend informatische und somit mathematische Grundzüge gelernt. Uni ist nun halt mal ziemlich theoretisch (wenn auch nicht mehr so sher wie noch vor 15 Jahren), und dazu gehört Grundlagenverständnis dazu. Irgendeiner muss ja auch z.B. ein solides .NET Framework aufgesetzt haben, und alle dort enthalten Mechanismen (z.B. Sortierfähigkeiten, Verschlüsselung) basieren nunmal auf der Mathematik. Dieses Wissen will eine Uni vermitteln. Und deshalb rasselns soviele Studenten durch die ersten Semester weil sie mehr mit Mathe zu tun haben, als mit Informatik. Die Erwartungen decken sich einfach nicnt mit dem, was das Studium von einem abverlangt.

14.04.2009 - 08:39 Uhr

ECP, das, was du erreichen willst, ist ganz klar am besten über einen Windows Dienst zu erreichen. Also warum willst du einen Prozess umständlich über ProcessStart oder den PsTools starten. Schreib am besten doch einfach deine Applikation um, so dass sie sich als Windows Service installieren lässt, und starte bzw. stoppe bei Bedarf einfach den Dienst.

03.04.2009 - 15:38 Uhr

Diese Seite zeigt, wie du ein Remote gpUpdate ausführen kannst, d.h. für jeden client wird die GroupPolicy aktualisiert.