Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von Pulpapex
Thema: bekomme die Schleife nicht gebacken
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Eine Schleife wird dafür nicht gebraucht.

Wie du das Button.Click-Ereignis mit einer Methode verbindest, weisst du ja schon. Der Code in der Methode muss in etwa so aussehen:

// Ereignis-Handler, registriert bei allen Buttons.
private void HandleButtonClick(object sender, EventArgs e) {

   Button button = (Button)sender;
   Nr(button);
}

private void Nr(Button button) {

   // id abhängig vom geklickten Button festlegen.
   int id = -1;
   if(button == this.button1) {
      id = 1;
   } else if(button == this.button2) {
      id = 2;
   } else if(button == this.button3) {
      id = 3;
   }

   // ListViewItem hinzufügen.
   ListViewItem lvi = new ListViewItem(id.ToString());
   listView1.Items.Add(lvi); 
}

Gruss
Pulpapex

Thema: Parallele Zugriffe
Am im Forum: Rund um die Programmierung

Da muss ich widersprechen, das kann eine Datenbank nicht leisten.

Es sei denn, es gibt schon welche, die optimistische Transaktionen unterstützen. Per Wertevergleich, ... wäre vielleicht denkbar.

Eine (pessimistische) Transaktion kann sehr, sehr lange laufen, wenn es währenddessen Benutzer-Interaktionen gibt. Andere Transaktionen können in der Zeit nicht auf die Daten zugreifen (ab Isolationslevel "Repeatable Read"). D.h. der zweite Editor wird blockiert, bis der erste fertig ist.

Selbst niedrigere Isolationslevel machen nicht viel Sinn. Die Daten können dann zwar parallel geladen und bearbeitet werden. Sie überschreiben sich aber immer noch beim Speichern.

Thema: Ordnung in Hashtable??
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat
ikaros
Ich wollte nur eine Aussage wie: <Eine Hashtable ist sortiert und deshalb heisst sie auch so.> nicht so stehen lassen. Gerade Programmieranfänger haben auch so genug Sorgen. Man stelle sich vor jemand zitiert das bei einem Bewerbungsgespräch weil er/sie die Aussage ungeprüft übernommen hat.
Hmm, diese Aussage ist hier aber nie gefallen. Es wurde gesagt, dass die Werte in der Hashtable nach den Hashwerten der Schlüssel sortiert sind. Diese Aussage würde ich so akzeptieren. Es ging ja darum _wie_ die Einträge sortiert sind, bzw. wie sie beim Iterieren zurückgegeben werden. VizOne hat es dann noch weiter präzisiert.

Thema: Parallele Zugriffe
Am im Forum: Rund um die Programmierung

Optimistische Transaktionen ist quasi ein Entwurfsmuster. Die Umsetzung ist nämlich Aufgabe der Anwendung (oder eines Frameworks) und nicht der Datenbank.

Am besten du suchst mal im Netz, findet man ziemlich viel zu.


Ansonsten ist es fast ausgeschlossen, dass zwei Benutzer an einem Dokument editieren und ihre Änderungen automatisch in der Datenbank zusammengeführt werden. Dazu ist in den meisten Fällen manueller Eingriff erforderlich. Der langsamere Editor muss die Sache ausbügeln.

Eine Echtzeitanwendung, wo beide Benutzer direkt sehen können, was die Gegenseite macht, wäre noch eine Idee. Ist aber bestimmt nicht leicht umsetzbar. Bei drei Editoren wirds dann langsam unübersichtlich.

Thema: Ordnung in Hashtable??
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi Ikaros,

Wenn ich mal kurz weiter ausholen darf was hier die einhellige Meinung zur Funktionweise der Hashtable ist:

  • die Hashtable organisiert ihre Einträge über Hashwerte (daher der Name).
  • ein Hashwert ist eine Int32-Zahl.
  • er wird über die GetHashCode-Methode der Schlüssel-Objekte ermittelt. Die Methode ist virtual in System.Object definiert. Deshalb kann theoretisch jedes Objekt als Schlüssel verwendet werden. Praktisch muss noch sichergestellt sein, dass sich der Hashwert und das Verhalten der Equals-Methode zwischendurch nicht ändern kann, wenn ein Objekt als Schlüssel im Einsatz ist.
  • die Berechnungsvorschrift für Hashwerte ist nicht festgelegt. Jede Klasse kann ihren eigenen Algorithmus implementieren. Vorteilhaft aber nicht zwingend notwendig wäre es, wenn jeweils zwei Objekte, die beim Equals-Vergleich false liefern auch unterschiedliche Hashwerte zurückgeben. (der umgekehrte Fall wird vorausgesetzt ;) )
  • der Int32-Hashwert dient als Index in ein internes Array der Hashtable. Da der Int32-Wertebereich viel zu gross ist, muss der Hashwert noch geeignet auf die Arraygrenzen heruntergerechnet werden, z.B. per Modulo-Operation.
  • da es u.a. durch die Beschränkung des Wertebereichs zu Hash-Kollisionen kommt, zwei verschiedene Schlüssel-Objekte haben den selben Hashwert, müssen mehrere Einträge unter einem Index im internen Arrays möglich sein.
  • um den Hashtable-Eintrag zu einem Schlüssel wiederzufinden, wird erneut der Hashwert und aus ihm der Index berechnet. Per Equals-Methode werden alle unter dem Index gespeicherten Schlüssel-Werte-Paare verglichen bis ein identischer Schlüssel gefunden ist. Dessen zugeordneter Wert wird zurückgegeben.
Letztendlich bedeutet das, dass es keine (menschenbegreifbare) Ordnung darin gibt, wie eine Hashtable iteriert wird. Es wird einfach über alle Hashwerte oder genauer gesagt alle belegten Indizes des internen Arrays iteriert.


Gruss
Pulpapex

Thema: Dateinamen aus komplettem Dateipfad extrahieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Gibt es,
schau dir die System.IO.Path-Klasse mal an.

Thema: Parallele Zugriffe
Am im Forum: Rund um die Programmierung

Das Ergebnis müsste sein, dass der erste Editor seine Änderungen speichern kann, der zweite jedoch erstmal Pech gehabt hat. Da zwischendurch das Dokument geändert wurde, darf seine Version nicht einfach die andere überschreiben.

Dass sich zwischenzeitlich was in der Datenbank geändert hat, muss erstmal irgendwie festgestellt werden. Entweder man merkt sich das Originaldokument im Speicher und vergleicht es vor dem Speichern der Änderungen mit dem Dokument in der Datenbank oder man führt eine zusätzliche Versions- oder Zeitstempel-Spalte ein, die bei jedem Speichervorgang verglichen und aktualisiert wird, Stichwort: optimistische Transaktion.

Bleibt noch das Problem wie in so einem Fall weiter zu verfahren ist. Man könnte dem Editor die Option anbieten, die Änderungen in der Datenbank mit seinen Änderungen vor dem Speichern zusammenzuführen. Der Editor guckt dann nochmal drüber ob das Ergebnis in Ordnung geht und versucht ein zweites Mal zu speichern. Das funktioniert allerdings nur mit Textdateien. Bei Word-Dokumenten oder ähnlichem wird es wahrscheinlich Probleme geben.


Gruss
Pulpapex

Thema: Anonymen Thread beenden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Wenn du den Thread vor Programmende mit Abort beenden willst, kannst du auch gleich so aus dem Programm gehen. Abort ist kein geordnetes Beenden, der Thread wird an beliebiger Stelle und in beliebigen Zustand gekillt.

Die übliche Vorgehensweise ist, dem Thread von außen mitzuteilen, dass er sich selbst beenden soll. Dazu muss die Thread-Klasse nicht überschrieben werden. Der Thread arbeitet ja eine Methode ab, die ihm beim ThreadStart übergeben wird. Diese Methode gehört zu irgend einer Klasse und die Klasse kann eine Eigenschaft definieren, die die Beendung des Threads veranlasst. Das Thread-Objekt selbst wird gar nicht benötigt.

public class ThreadBusiness {

   public bool StopRequest { get; set; }

   // Wird im Thread ausgeführt.
   public voin Run() {

      while(!StopRequest) {
          // Do something.
      }

      // Aufräumen, ordenlich beenden.
   }
}

Gruss
Pulpapex

Thema: Architekturproblem mit mehreren Anwendungen
Am im Forum: Rund um die Programmierung

@dr4g0n76:
Remoting heisst ja nicht wirklich remote auf verschiedenen Rechnern und über TCP. Lokal läuft das glaube ich über COM oder COM+. Und wenn es ums Programmieren geht, ist Remoting auch einfacher als Windows-Botschaften. Im besten Fall hat man bekannte Services in der App.Config eingetragen. Dann reicht ein new MyService(), um die Verbindung herzustellen. Es gibt (fast) keine Unterschiede beim Zugriff auf lokale und entfernte Objekte (fast wegen den Ereignissen z.B.).

Andererseits habe ich von Windows-Botschaften nicht die Ahnung. Den Link habe ich mir jetzt auch nicht mehr angeschaut. Mache ich morgen mal.


Gute Nacht,
Pulpapex

Thema: Architekturproblem mit mehreren Anwendungen
Am im Forum: Rund um die Programmierung

Für mich klingt das stark nach .Net-Remoting.

Du benötigst einen zentralen Service, bei dem sich die einzelnen Anwendungen für Ereignisse anderer Anwendungen registrieren können.

Der Service definiert auch das Kommunikationsprotokoll zwischen den Anwendungen. Man sollte vielleicht darauf achten, dass die Kommunikationswege in dem Service gebündelt werden und die Anwendungen nicht zu viel kreuz und quer selbst untereinander kommunizieren (siehe Mediator-Pattern). Das widerspricht allerdings wiederum der Modularität, also da muss gegeneinander abgewogen werden was wichtiger ist: zentrale Kontrolle/Übersicht oder Unabhängigkeit.

Ereignisse: Remoting und Ereignisse ist nicht ohne weiteres umsetzbar. Es gibt Probleme damit, dass der Type, der sich für ein Ereignis registriert, dem Ereignis-Halter-Type bekannt sein muss. Das ist natürlich sehr unschön, man kann z.B. keine neue Anwendung schreiben und diese für ein Ereignis einer bestehenden Anwendung registrieren. Es ist trotzdem möglich, indem man noch einen Proxy dazwischen hängt, der bekannt ist. Finde ich nicht so schön. Ohne Querelen geht es eigentlich nur mit dem Observer-Pattern (Listener-Interfaces, falls du Java kennst).

Ereignisse (oder Observer-Interfaces) und alle anderen für die Kommunikation erforderlichen Interfaces und Parameter-Typen müssen in öffentliche DLLs ausgelagert werden, die allen Anwendungen zur Verfügung stehen.

Zu den GUI-Klassen, die haben mit dem Ganzen nicht sehr viel zu tun. GUI-Klassen sind meiner Meinung nach immer lokal und nicht öffentlich (obwohl sie von MarshalByRefObject ableiten). Also: entweder ein Dialog wird in der einen oder der anderen Anwendung oder auch in beiden angezeigt. Die Anwendungen verwenden lokal die gleiche Dialog.dll (u.U. kopiert in verschiedene Ordner). Der Dialog ist aber auf keinen Fall öffentlich und remote zugreifbar/fernsteuerbar. Für sowas gibt es wie gesagt den Mediator.

Weil, es geht darum, einen Service nach außen bereitzustellen. Nicht darum, dass Clients von aussen in anderen Anwendungen "herumwurschteln" können wie sie lustig sind. So ein Lowlevel-Zugriff macht der Client-Anwendung keinen Spass (viel zu kompliziert) und die Server-Anwendung bringt es in echte Schwierigkeiten, weil sie nicht weiss wie ihr geschied (Vollzugriff, Bruch der Kapselung).


Gruss
Pulpapex

Thema: enum als Parameter im Konstruktor
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat
Meli:
Ps: Warum wird value als c# keyword nicht eingefärbt?
Weil es kein Keyword ist. Value ist nur eine, im bestimmten Kontext (Setter), vordefinierte Variable. An anderen Stellen kann value frei als Bezeichner verwendet werden. Was man natürlich trotzdem tunlichst unterlassen sollte. Versteht sich von selbst.


Gruss
Pulpapex

Thema: Windows Forms: nach setzen der Forms.Height, wird das Form um die Titelleiste höher
Am im Forum: GUI: Windows-Forms

Ist ja schön, dass du im Titel mit angibst, dass es um "Windows Forms" geht. Noch übersichtlicher wäre allerdings, gleich im "Windows Forms"-Forum zu posten.

Zu deiner Frage: schau dir mal die ClientSize-Eigenschaft an. Die legt die Fenstergröße ohne Rahmen und Titelleiste fest.


Gruss
Pulpapex

Thema: Konsole trotz Windows Applikation (VS 2005)
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Auf www.codeproject.com gibt es von Wesner Moise eine WinConsole-Klasse mit einigen interessanten Erweiterungen. Man kann z.B. Text farbig ausgeben oder eben auch das Konsolenfenster ein- und ausblenden.

Code Project: Console Enhancements


Gruss
Pulpapex

Thema: ActiveX ohne Verweis
Am im Forum: Rund um die Programmierung

Marshal.GetActiveObject ist die C#-Entsprechnung für CreateObject. Das nützt dir allerdings nicht viel, da C#, im Gegensatz zu VB6, streng typisiert ist.

Der Typ des zurückgelieferten Objekts muss bekannt sein, bevor man auf die Methoden und Eigenschaften zugreifen kann. Ohne einen Verweis ist er aber nicht nicht.

Ich glaube man kommt nicht um die Generierung und Einbindung eines COM-Wrappers (RCW) herum. Umständlich über Reflection würde es gehen, ich sehe da aber keinerlei Vorteile. Warum möchtest du denn keinen Wrapper beziehungsweise COM-Verweis einbinden?


Gruss
Pulpapex

Thema: Ordnung in Hashtable??
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Du kannst auch die Hashtable wie bisher weiter nutzen.

Zum Iterieren müssen die Elemente dann in eine ArrayList umkopiert werden und mit einem selbst geschriebenen IdPropertyComparer vorsortiert werden.

Oder du nimmst wie gesagt SortedList. Das ist eine IDictionary-Implementierung, quasi eine Hashtable, die sich die Reihenfolge der Einträge merkt.

List<T> ist eine normale IList, nur dass man als den Typ der Elemente festlegen kann. Gibt es erst in .Net 2.0.

Thema: Ordnung in Hashtable??
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Vielleicht hilft dir SortedList weiter. Die Klasse erlaubt die Abfrage per Schlüssel oder per Index. Ich schätze der Interator liefert die Werte per Index sortiert.

Ich würde wahrscheinlich eine ArrayList oder List<T> verwenden, per Iterator iterieren und mit BinarySearch Werte mit einen bestimmten Id-Property suchen.


Gruss
Pulpapex

Thema: Dll
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo ScToSh,

es gibt System.ComponentModel-Namespace Klassen, die einem beim Lizenzieren von Klassen und Komponenten unterstützen sollen: LicenseManager, LicenseProvider und LicenseProviderAttribute.

Eine lizenzierbare Klasse hat das LicenseProvider-Attribute gesetzt. In ihrem Konstruktor fragt die Klasse beim LicenseManager eine License an. Der LicenseManager wiederum, holt sich die License vom im LicenseProvider-Attribute angegebenen, konkreten LicenseProvider.

Lizenzen zu validieren, ist Aufgabe eines konkreten LicenseProviders. Im .Net-Framework wird nur einer mitgeliefert: LicFileLicenseProvider. LicFileLicenseProvider überprüft eine als Ressource in die Assembly eingebettete Lic-Datei, ob die erste Textzeile mit einem bestimmten Klartext übereinstimmt.

Ich finde das ist so wenig brauchbar. Weiss nicht ob ich da noch irgend etwas übersehen habe. In der Doku steht, für weitere Überprüfungen soll man den LicFileLicenseProvider überschreiben.

Hoffe, das hilft Ansatz weiter,


Gruss
Pulpapex

Thema: Frage bzügl. Eigenschaften
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Auch von der Perfomance her macht es keinen Unterschied ob direkt oder über eine Eigenschaft auf ein Feld zugegriffen wird. Einfache Methoden mit wenig Code (trifft auf die meisten Getter zu) werden bei aktivierter Optimierung inline compiliert.

Beispiel:

private string name;

// Name-Eigenschaft.
public string Name {
   get { return this.name; }
}

// Zugriff auf Name-Eigenschaft.
public void TestGetName() {

   // Der Zugriff:
   string n = Name;

   // ... wird optimiert zu:
   string n = this.name;
}

Gruss
Pulpapex

Thema: Dateitransfer mit AsyncCallback-Socket
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Meiner Meinung nach macht es nicht viel Sinn, Threads lowlevel einzusetzen.

Es ist viel einfacher, die Logik für den Datentransfer ohne Threading zu programmieren und die Methode, die die Logik enthält, aus einem eigenen Thread heraus aufzurufen. Dadurch behält man obendrein die Wahl, ob die Ausführung synchron oder asynchron erfolgen soll.


Gruss
Pulpapex

// Edit: falls du das schon so machst, sry. Geht aus deiner Beschreibung nicht klar hervor.

Thema: Frage zu Tab Page
Am im Forum: GUI: Windows-Forms

Gleich aussehende TabPages, eine Klasse. UserControl, das viele gleich aussehende TabPages anordnet, eine zweite Klasse.

Ein UserControl, abgeleitet von TabPage, könnte ja nur eine TabPage verwalten. Wäre also eigentlich keine Option, selbst wenn es gehen würde.


Gruss
Pulpapex

Thema: Threading: ausfueren von Code in einem anderen Thread
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Bernhards Vorschlag nochmal konkretisiert:

Ein bereits laufender Thread führt ja bereits Code aus (und wenn es nur eine Warteschleife mit Sleep ist). Wenn also dieser Thread eine ihm bereitgestellte Methode (Delegaten, Event-Delegaten) ausführen soll, muss er ab und zu prüfen, ob von außen eine Methode übergeben wurde.

Die Übergabe kann in einer einfachen Eigenschaft erfolgen, die nur einen Delegaten entgegennimmt und ausführt (auf die Synchronisierung achten, dass kein Delegat entgegengenommen wird, bevor nicht der letzte abgearbeitet wurde). Oder alternativ in einer Warteschlange für Delegaten, dann hast du quasi die Windows-Botschaften-Warteschlange nachprogrammiert.

public class Worker {

   private bool done;
   private WorkingUnit;

   // Leerlauf-Methode.
   public void Run() {
       while(!Done) {

           if(WorkingUnit != null) {
              Work();
           }
           
           // Do something else.
       }
   }

   // Done == true beendet den Worker.
   public boolean Done { get; set; }
   
   // Auszuführender Delegate.
   public WorkingUnit {
      get { return workingUnit; }
      set {
          // Blockiert bis Work fertig ist.
          // (Ist so nicht ganz richtig. Es besteht die Möglichkeit, 
          //  dass Delegaten nicht zur Ausführung kommen.
          //  Die Run-Methode muss locken.)
          lock(this) {
             workingUnit = value;
          }
      }
   }

   // Arbeitsmethode.
   private void Work() {
      lock(this) {
         WorkingUnit();
         WorkingUnit = null;
      }
   }

}

public delegate void WorkingUnit();


Vielleicht ist Remoting auch eine Option. Bei Remoting geht es ja gerade darum die Ausführung von einem Prozess (oder Thread) an einen anderen zu übergeben. Übergabewerte werden von der Remoting-Runtime zwischen den Prozessen gemarshalt, also kopiert und übertragen. Allerdings befindet sich ein Remoting-Server quasi immer im Ruhezustand und wartet auf Anforderungen. Es kann also kein anderer Code nebenher ausgeführt werden.


Gruss
Pulpapex

Thema: bestway - objekte aus datenbank laden
Am im Forum: Smalltalk

Na hier wirst du wohl kaum noch ne ordentliche Antwort bekommen. Am besten du stellst deine Frage nochmal im Datenbank-Forum (ADO.NET). Sorry dafür.

Thema: bestway - objekte aus datenbank laden
Am im Forum: Smalltalk

Das kann man auch von der anderen Seite sehen. Svenson ist mit "Habt ihr alle ein Rad ab?" unsachlich und persönlich geworden. Das muss man so nicht stehen lassen. Ich finde, da kann schon mal fragen ob jemand keine Kritik versteht. .. Meine Meinung.


Ansonsten war es wirklich eine Verkettung unglücklicher Umstände. Ich hatte nur gelesen, dass svenson nichts von O/R-Mappern hält und mich dazu erinnert wie nach eigener Aussage bei ihm in der Firma Datenbanken "gehandhabt" werden.

Das habe ich nur im Zusammenhang zitiert, wollte es aber nicht weiter kommentieren (weil mich lange, sinnlose Diskussionen, wo von vorneherein klar ist, dass es keinen Konsens geben wird, annerven) und habe nur lax schnell irgendwas dahin geschrieben.

Dass es dann gar nicht so gemeint war, waren wie gesagt sehr unglückliche Verkettungen. Die Reaktion fand ich allerdings nicht sehr gefasst, da kann man auch anders reagieren. Zumal svenson dann Noodles noch vorwirft, sich im Ton vergriffen zu haben.


Gruss
Pulpapex

Thema: bestway - objekte aus datenbank laden
Am im Forum: Smalltalk

Ich habe dir eine PM geschrieben. Sowas gehört nicht ins Forum.
Wäre gut, wenn du dich erstmal beruhigst. Vielleicht mal drüber schlafen.

// Edit: ich hab das Theater zwar verbrochen, aber wenn das noch lange so weiter geht, werd ich den Thread hier dicht machen.

Thema: bestway - objekte aus datenbank laden
Am im Forum: Smalltalk

Dieser Thread:

Zitat
Original von svenson
Wenn du keine O/R-Mappern einsetzen magst (wozu ich auch raten würde) ..

Thread: Architekturproblem
Zitat
Original von svenson
Das ist der typische Gap zwischen Objektentwicklung und relationaler Modellierung. Letztere ist weniger mächtig, d.h. man muss im Code "drumrumfrickeln".

[..]

Alles in allem eine totale Krücke, bei der sich mit die Haare hochstellen, aber es gibt schlicht keine Alternative, außer Oracle oder eine OO- oder XML-Datenbank einzusetzen.

Was soll man dazu sagen? Ich würd mal sagen, selbst schuld.

Thema: Zeichenkodierung bei Sockets
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Also erst einmal, ich sehe nicht wo das Problem herrührt oder was vielleicht
noch nicht richtig eingestellt ist. Zeig mal den betreffenden Code.

UTF8 ist schon die richtige Wahl, sollte eigentlich nicht viel Sorgen machen. Dass TcpListener, TcpClient und NetworkStream kein Encoding haben, ist auch in Ordnung. Die Klassen arbeiten ja auf Byte-Ebene, da gibt es keine Zeichen.

Hast du es statt mit Encoding.GetString schon mal mit StreamReader (samt eingestelltem Encoding) versucht? Mit Streams und StreamReader lässt sich meiner Meinung nach einfacher programmieren als mit byte-Arrays. Das nur so am Rande, Encoding.GetString sollte genauso funktionieren, das kann eigentlich nicht der Grund für das Kodierungsproblem sein.


Gruss
Pulpapex

Thema: Bug im Editor
Am im Forum: Wünsche und Kritik

Open ()

Open ()

Open ()
[php]Open ()[/php]
Ich auch nicht.

Ich hab mal nach dem Begriff gesucht. Es scheint ein Problem mit einem Proxy, der irgendetwas filtert, zu sein. So richtig habe ich es nicht verstanden.

Bug-Report:
http://sourceforge.net/mailarchive/forum.php?thread_id=3041903&forum_id=1690

Seite wo der Bug zu sehen sein soll. "File -> Open" soll als "File -> PrivoxyWindowOpen" erscheinen (bei mir nicht).
http://www.macosxhints.com/article.php?story=20030826232829387


Kann es sein, dass da irgendwo ein Proxy namens Privoxy bei dir läuft, svenson?


Gruss
Pulpapex

Thema: Platzhalter in einer Methode
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Charts in Arrays oder Collections:

// charts ist ein IDictionary.
string key = "ABC";
charts[key].AxisX.Title.Text = "Tage";
charts[key].AxisY.Title.Text = "kWh";

// charts ist ein Array oder eine IList.
int index = 0;
charts[index].AxisX.Title.Text = "Tage";
charts[index].AxisY.Title.Text = "kWh";

Zu beachten: in .Net 1.1 muss bei Collections gecastet werden, in .Net 2.0 kann der Code direkt so übernommen werden.


Gruss
Pulpapex

Thema: mehrzeiliger Kommentar ?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

/*
*/


In die Doku schauen oder einfach mal ausprobieren? Du scheinst ja zu wissen, dass es mehrzeilige Kommentare gibt.

Thema: Arrays vergleichen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Der Unterschied ist enorm. Hab ich so ähnlich schon ausprobiert.

Ich musste mal Operationen auf Arrays in C-DLLs auslagern, weil C# dafür zu langsam war. Es waren allerdings keine Vergleichsoperationen (sondern einfache Berechnungen) und auch keine Byte-Arrays (Double-Arrays). Trotzdem glaube ich, dass C/C++ bei primitiven Datentypen und Arrays erhebliche Performanzvorteile hat.