Laden...

Forenbeiträge von cdr Ingesamt 980 Beiträge

23.08.2004 - 14:35 Uhr

Original von vi.p
Dann bin ich kein Scholastiker. Mich würde aber interessieren wieso die Scholastik nicht mit der Quantenphysik unter einen Hut zu bringen sein soll.

Ganz einfach: die moderne Physik verträgt sich nicht mit deterministischen Weltbildern (und schon gar nicht mit sog. absoluten Wahrheiten)

23.08.2004 - 14:16 Uhr

Es ist sicher sinnvoll, dass er gebuffert liest ...

Im allgemeinen ist es auch gefährlich, mit mehreren Readern nacheinander auf den selben Stream zuzugreifen - was willst du damit bezwecken? Warum gibst du nicht einfach den Reader weiter?

23.08.2004 - 14:11 Uhr

Scholastiker bauen u.a. ihr Gedankengerüst auf einem deterministischen Weltbild auf und versuchen alles exakt herauszuarbeiten und zu unterscheiden ... die Römische Offizialkirche ist z.b. ein typischer Vertreter der Scholastik ...

23.08.2004 - 13:48 Uhr

Original von vi.p
Wenn die Menschen so leben würden, wie es die Bibel sagt, gäbe es diese Probleme nicht.

Nach der Bibel ... wahrscheinlich sogar noch wörtlich nach der Bibel? Bist du vielleicht gleich noch Scholastiker?

Mit dem letzten Satz hast du recht, denn Gott gab dem Menschen einen freien Willen. Aber er kann sehr wohl etwas unterbinden und lenken wenn man ihn darum bittet. Es tun nur sehr wenige Menschen.

Typischer Fall einer "Vermenschlichung" Gottes ... Mit "du hast recht" implizierst du absolute Wahrheit, wieder ein typisches Indiz auf Scholastik ...

Würd mich mal interessieren was ein Scholastiker von der Quantenphysik hält 😉

23.08.2004 - 13:37 Uhr

_Original von Franknstein_aber dennoch ist die Kirche wichtig

Auch wenn du es sarkastisch meinst - die Lokalkirchen haben tatsächlich eine nicht unwesentliche Bedeutung, speziell im Bereich Familien- und Quartierpflege sowie starkem Networking ...

Genau in diesem Networking und dem friedlichen Zusammenleben liegt wohl auch die Hauptbotschaft des modernen Christentums (Sowas wie "Gott" ist dann auch nicht mehr als die Konkretisierung der Dynamik dieses Networkings - nicht etwa irgend ein "Fluidum" das über die Welt richtet und prüft wie oft 'Mensch' es anbetet) ... Abgesehen von naiven wörtlichen Interpretationen ist Religion somit auch nicht mehr als eine idealistische Lebensphilosophie - im Falle des modernen Christentums eine durchaus konstruktive ((Blut)Rache und die mittelalterlichen Kreuzzüge sind z.b. definitiv unchristlich..)

22.08.2004 - 17:01 Uhr

Wenn du es auf die CD Brennen willst ist es wohl eine read-only Datenbank. Ich empfehle ein in XML serialisiertes typisiertes DataSet (ist dann, sobald eingelesen, eine art In-Memory Datenbank) ...

21.08.2004 - 19:06 Uhr

Den DataAdapter brauchst du nicht, ruf direkt

cmd.ExecuteNonQuery();

auf ...

21.08.2004 - 15:55 Uhr

Original von Noodles
Das klingt doch sehr gut.

... wobei ich mich jetzt schon auf total unwartbare und missbrauchte Datenbanken freue ... 😉

21.08.2004 - 00:02 Uhr

In Yukon kannst die Trigger wohl gleich in C# schreiben ...

Ich dachte aber eher an die Notification Services, die übrigens offenbar auch von ADO.NET genutzt werden (hab noch nie explizit damit gearbeitet) ...

19.08.2004 - 23:16 Uhr

... genau, aka "SQL Server 2005" ... (dummerweise erst beta)

19.08.2004 - 22:06 Uhr

Mit Yukon wärs einfach 😉

18.08.2004 - 16:20 Uhr

Z.b. mit einem RendezVous/Barrier (hier trivial mittels thread.Join() ) ...

Was ist aber der Sinn daran, eine Methode in einem anderen Thread zu starten und dann doch gleich nach dem Start auf seine Terminierung zu warten? Bringt ausser einer Performancebremse kein Vorteil...?

18.08.2004 - 16:15 Uhr

Er will wohl DAS ende manipulieren (sprich: beliebig setzen). Elegante C-Style String Tricks wahrscheinlich, vermiss ich auch ab und zu 😉

18.08.2004 - 12:56 Uhr

Original von modulo
Wie mache ich es denn, wenn ich noch nicht weiss, wie groß das Array meiner Memeber-Variable ist?

Die Array-Länge kannst du mit der Length-Eigenschaft abfragen.

18.08.2004 - 12:54 Uhr

.NET Strings können (im safe-mode) nicht manipuliert werden und sind auch nicht null-terminiert.

Beim StringBuilder kannst aber die länge durchaus beliebig setzen ...

17.08.2004 - 20:00 Uhr

Ja, ok ... sehe ich genauso ...

17.08.2004 - 19:28 Uhr

_Original von alexander_na ja ich finds allgemein ein cooler Service wobei mir die 3 - 4 € pro Film zu viel wären, da bekomm ich ja fast die DVD dafür.

Ihr bekommt bei euch DVDs für 3-4€?? Die allerbilligsten kosten hier vielleicht 10€, was aktuelles nicht unter 20€ (gern auch mal 30€ ...) 🙁

17.08.2004 - 00:14 Uhr

Generell: Die Ausführung bleibt im gleichen aktuellen Thread was immer du machst und wie viele Methoden da über welche Interfaces wie viel mal aufgerufen werden. Das Betriebssystem hat keinen Grund (und i.a. auch keine Möglichkeit) einfach aus Spass mal den Thread zu wechseln. Sogar Events werden Synchron im gleichen Thread bearbeitet. Ausnahmen: Explizites erstellen eines Threads, Invoke() sowie die asynchronen Begin/End Aufrufe.

Wenn ich ein Interface außerhalb eines Threads implementiere aber die implementierte Funktion aus dem Thread heraus aufrufe, dann bin ich immernoch im selben Thread wie die Funktion in welcher das Interface aufgerufen wurde?

Interfaces sind Typdefinitionen und haben keinen Einfluss auf das Thread-Verhalten.

Es gibt ja die lock-Anweisung den man bei mehrfachzugriff auf eine Variable verwenden kann. Es gibt allerdings auch dieses Schlüßelwort "volatile". Wenn ich dieses für ein Feld einsetze wirkt es sich dann genauso aus wie eine enstprechende lock-Anweisung? Laut Hilfe könnte man das annehmen...

Nicht wirklich. Das Lock Statement bewirk eine klassische Thread Synchronisation. Voilatile wird hingegen verwendet um auch ohne Synchronisation gemeinsam auf Variablen zugreifen zu können, wobei aber diverse Code Optimierungen deaktiviert werden müssen um einige Bedingungen zu garantieren.

16.08.2004 - 19:56 Uhr

imo im allgemeinen: nein.

ILMerge kann nicht funktionieren da der Wrapper afaik nicht eine reine .NET Assembly ist (wenn es das wäre bräuchte es ja keinen Wrapper...)

16.08.2004 - 19:52 Uhr

Original von IhateWin
wenn ich eine methode in einem eigenen thread starte und aus dieser herraus ein andere methode aufrufe, wird diese dann im gleichen thread ausgeführt ???

Ja.

(Du kannst nicht einfach in einem Methodenaufruf den Thread "wechseln", also wird alles vom ThreadState Delegate implizierte ausschliesslich im 2. Thread ausgeführt)

14.08.2004 - 01:02 Uhr

Ich sehe euer Problem nicht? Das Editorial ist eine klassische dialektische Erörterung über einen strittigen Sachverhalt, die der Autor persönlich befürwortet oder (wie in diesem Fall) ablehnt. Um dem ganzen etwas mehr Pfeffer zu geben überspitzt er den Sachverhalt massiv (so von wegen "Umstieg auf Java"), aber das ist bei solchen Erörterungen völlig ok ... zumal er sie danach ja auch wieder in gleichem Masse widerlegt ...

Die Reaktionen einiger User hier sind fast schon amüsant überreagiert ... (ich hoffe sie sind sarkastisch gemeint!)

14.08.2004 - 00:43 Uhr

Immerhin hat sich google gebessert: vor einigen Monaten war es z.b. noch praktisch unmöglich nach C# zu suchen, das # wurde immer ignoriert (auch in ")

12.08.2004 - 17:11 Uhr

Falls du die Instanz danach auch in diesen Typ casten willst ist das as-keyword noch effizienter (du sparst dir überflüssige doppelte interne Typprüfungen):

BaseEdit e = myTextEdit as BaseEdit;
if(e != null)
{
  e.WhatEver();
}

ansonsten würde hier wohl auch das is-keyword funtkionieren ...

12.08.2004 - 17:08 Uhr

Original von norman_timo
P.S: Kann auch statt dem Sinus der Kosinus sein, das ist bei mir doch zu lange her 😉

Mit dem Cosinus bist du hier besser bedient, ja 😉

11.08.2004 - 13:29 Uhr

Genau ... falls du (wie mal in nem älteren Post erwähnt) gleichzeitig Arrays und ArrayLists verwenden möchtest kannst auch statt nach Array nach IList casten (hat gleich noch den Vorteil einer bequemeren Schnittstelle mit einem Indexer):

Assembly myAssembly = Assembly.GetExecutingAssembly();
Type assClass = myAssembly.GetType("assemblyClass");
object objClass = Activator.CreateInstance(assClass);
FieldInfo f = assClass.GetField("arrVar");
IList a = (IList) f.GetValue(objClass);
foreach(float x in a)
	Console.WriteLine(x.ToString());
a[0] = 4f;
Console.WriteLine(a[0].ToString());
11.08.2004 - 12:48 Uhr

(Hast du die Maus vielleicht an nem passiven USB Adapter angehängt?)

10.08.2004 - 19:03 Uhr

Was hält dich immer noch davon ab, das Array einfach nach System.Array zu casten und direkt damit zu arbeiten?

10.08.2004 - 12:54 Uhr

Du kannst nicht eine Spalte ausblenden, aber explizit sagen welche wie angezeigt werden sollen ... (geht sogar bequem im designer)

09.08.2004 - 18:13 Uhr

Ok ... (ich kenne das Steuerelement nicht)

Ist es an eine Datenquelle gebunden? Ein DataSet kann dir solche Informationen z.b. ja auch liefern.

09.08.2004 - 14:58 Uhr

was meint DevExpress dazu?

09.08.2004 - 14:55 Uhr

Schau dir vielleich auch mal double.TryParse an.

08.08.2004 - 13:08 Uhr

Beispielcode für den CSV Parser? -> Hast noch nie einen Parser geschrieben? (ok, ist auch keine Standardaufgabe...)

Ich würde übrigens gleicht mit einer Page-Offset Tabelle arbeiten, damit du beim Herumscrollen (zumindest beim Zurückscrollen) jeweils direkt an die richtige Stelle in der Datei springen kannst ...

07.08.2004 - 23:42 Uhr

Ich hab auf die Schnelle keine Einstellung gefunden mit der man die "Intelligenz" beim c&p beeinflussen könnte. Möglicherweise könnte man einen kleinen service schreiben der systemweit beim Kopieren den Notepad-zwischenschritt automatisch "emuliert", ist ja nicht nur beim VS so, sondern auch z.b. vom IE zu Word ... (meistens ist die "intelligenz" aber ja ganz praktisch, gerade im Bezug zum IE)

07.08.2004 - 23:36 Uhr

ok ... (was macht eigentlich ein englisches Excel mit einer deutschen Excel datei die z.b. "VERWEIS" verwendet?)

mit WMI kenn ich mich praktisch überhaupt nicht aus. Ich nehme aber schon an dass irgendwie auch solche Metadaten abfragbar sind ...

07.08.2004 - 17:39 Uhr

btw: du hast V und C verwechselt 😉

Du kopierst den Code schon in der Quelltextansicht in VS, oder?

Manchmal hilft es das Kopiert erst im Notepad zwischenzulagern (statt z.b. direkt von Word zu kopieren), da VS das ganze sonst nicht als reintext erkennt ...

07.08.2004 - 17:34 Uhr

Das Problem mit Buffer füllen ist nur relativ - das frontend muss dem dienst einfach sagen wann es etwas senden soll, oder implizit durch stetige ACKs ... falls du im service dafür einen thread opfern kannst ist es noch einfacher, dann wird dieser thread einfach blockiert wenn niemand was abfragt (und verbrät entsprechend auch null Rechenleistung).

Sockets sind natürlich auch eine möglichkeit, sind aber aufwändiger (und sicher langsamer) als MMF und auch Named Pipes.

Eine weitere möglichkeit wären auch Mail Slots, die arbeiten mit UDP und scheren sich kaum ob die Nachrichten auch irgend jemand liest oder nicht ...

btw: ich verwende bei MMF auch ringbuffer, aber ich lasse ihn natürlich blockieren wenn er voll ist... (ist ja genau der punkt dabei, stichwort SOA)

07.08.2004 - 01:20 Uhr

Meinst du ThreadMessaging und der CP Artikel? Ja, hab ich in den letzten par tagen geschrieben (und bin es gerade am erweitern) ... war ne gute Übung für die Vorlesung 'Technische Informatik II' 😉 (-> eine der 12 Prüfungen im Herbst)

06.08.2004 - 23:27 Uhr

tatsächlich? und die kann man nur über den (hier deutschen) Namen eindeutig auswählen? uhh...

Ich weis nicht ob die namen generisch sind, aber so erscheinen sie bei mir (englische installation): Network Interface, .NET CLR Networking, Cache, Memory, Objects, PhysicalDisk, Process, Processor, Server, System, Thread, ...

Vielleicht geht's sonst auch über's WMI/PerfRawData wie z.b. hier verwendet..?

06.08.2004 - 23:14 Uhr

Ok, das könnte wahrscheinlich gut mit Memory Mapped Files oder mit Named Pipes realisiert werden. Ich werd übrigens in den nächsten Tagen ne neue Version freigeben die auch die MSMQ und Named Pipes abdeckt (vielleicht reicht die Zeit auch noch für eine TCP bridge)

MSMQ wäre sonst evtl auch eine Möglichkeit hier, ist (im gegensatz zu den anderen Varianten) vom .NET Framework selbst vollständig unterstützt (System.Messaging Namespace)

Läuft das Form immer wenn der Service läuft, oder nur ab und zu? Sonst müsstest du noch irgendwie absichern dass der Service nicht einfach die ganzen Buffer vollschreibt und sich blockiert, ohne dass diese jemand wieder ausliest/leert ...

06.08.2004 - 22:07 Uhr

Must du denn umfangreiche Daten hin und herschieben, oder geht es eher um kleinere Steuerbefehle?

(btw: mit meinem Framework im Artikel dürfte es so aufwändig nicht sein 😉

06.08.2004 - 18:53 Uhr

Also eine art manuelles paging. Sollte sicher möglich sein, wenn vielleicht auch einfacher mit externen Controls statt mit der Scrollbar des DataGrids.

Vielleicht lohnt es sich auch dafür nen eigenen kleinen parser zu schreiben, der auch nur jeweils die abschnitte in den speicher lädt die du gerade bearbeitest ... (csv ist sehr einfach zu parsen, hab für ein datenanalysetool auch mal einen kleinen parser in C# gebaut der u.a. auch mit csv umgehen konnte und dank direkter verarbeitung mit ringbuffern auch bei 500 MB dateien nie mehr als ein par kilobyte speicher brauchte ...)

06.08.2004 - 18:42 Uhr

Fals die Performance Monitoren nicht reichen (die kannst bequem mit dem .NET Framework auslesen): Irgendwo (vielleicht bei CodeProject) hab ich mal nen C# Port von WinPCap gesehen, mit dem kannst noch wesentlich mehr machen ...

06.08.2004 - 13:51 Uhr

Schon beim aktuellen VS ist ein Obfuscator dabei ... (allerdings nur als "community edition", also wohl mit ein par deaktivierten features) ... wie auch immer, ich hoffe ich werde nie gezwungen sowas hässliches wie nen obfuscator einzusetzen...

06.08.2004 - 13:39 Uhr

String ist nicht gleich String. Ein .NET System.String ist es nicht nehme ich an, sonst könnten die integrierten message formatter etwas damit anfangen. Schau dir mal die Marshal Klasse an, da kannst du verschiedene nicht-.NET strings in .NET strings konvertieren und umgekehrt ... damit kannst dann halt von Hand mit (Message).BodyStream direkt arbeiten - oder du baust dir einen kleinen Formatter der das automatisch machst und übergibst eine Referenz an (Message).Formatter ...

06.08.2004 - 10:09 Uhr

Du könntest auch einfach alle Controls an ein DataSet (mit nur einem Datensatz in einer Tabelle) binden. Die kannst du dann mit einem einzigen Methodenaufruf in ein XML File speichern und auch wieder nachladen. Bei Datei-Neu dann einfach den alten Datensatz löschen oder einen neuen erstellen, und alle Steuerelemente werden automatisch auf die (von dir in der DataTable definierten) Default Werte zurückgesetzt ...

06.08.2004 - 08:29 Uhr

Der Wrapper muss sicher irgendwie beigelegt werden (ich glaube auch nicht dass es z.b. mittels ILMerge mit der Anwendung "verklebt" werden kann).

Ich bin mir nicht sicher wann genau der Server geladen wird. Falls er erst bei der ersten Verwendung geladen wirst kannst du ihn durchaus vorher automatisch registrieren lassen wenn er nicht bereits registriert ist. Falls nicht könntest du evtl. mit einem Loader arbeiten, die erst die Bedignungen prüft (und allenfalls nachbessert) und dann erst automatisch die eigentliche Anwendung lädt ... oder du nimmst halt ein klassisches Setup ...

06.08.2004 - 00:33 Uhr

Hat VS.NET beim Verweis erstellen auch einen Interop Wrapper (mit Stubs) erstellt? Ist der COM Server (also deine DLL) auf dem System registriert?

06.08.2004 - 00:28 Uhr

Original von ernie04
Die MSDE ist afaik nur für private Zwecke kostenlos...

Nein, sie darf auch verteilt werden. Allerdings nicht bedingungslos:

http://www.microsoft.com/sql/msde/howtobuy/msdeuse.asp

Q. Can I include and redistribute MSDE as part of applications that I develop?

A. Yes, you can register to receive free redistribution rights for MSDE. Also, if you obtained MSDE by licensing one of the following products or services, you are licensed to redistribute MSDE as part of your applications:

ASP.NET Web Matrix*
MSDN® Universal, Enterprise, and Professional subscriptions
Microsoft Office XP Developer Edition
SQL Server 2000 Developer, Standard, and Enterprise Editions
Microsoft Visual Studio® .NET Architect, Developer, and Professional Editions*
Microsoft Visual FoxPro® 7.0 or 8.0
*When obtained by downloading ASP.NET Web Matrix, MSDE is provided only for use in conjunction with an application developed by using ASP.NET Web Matrix.