Laden...
Avatar #avatar-1724.gif
frisch myCSharp.de - Member
Fachinformatiker Anwendungsentwicklung Coburg / Oberfranken Dabei seit 18.08.2005 2.082 Beiträge
Benutzerbeschreibung
frisch durfte 2 Jahre lang auf eine Schule gehen und dort C und C++ lernen und dann musste er wieder von vorne anfangen... Meine Homepage ist in ASP.net programmiert. Einfach mal vorbeischauen. (Btw: Mir ist Funktionalität wichtiger als Design)

Forenbeiträge von frisch Ingesamt 2.082 Beiträge

18.09.2008 - 11:39 Uhr

Hallo zecken81,

wie öffnest du die Datei?

Du kannst im Konstruktor von FileStream den FileShare auf ReadWrite setzen, dann dürfte der 3D-Viewer auch weiterhin auf die Datei schreiben können.

17.09.2008 - 17:41 Uhr

Hallo,

mein Projekt besitzt einen StrongName. Dieses Projekt referenziert jetzt Managed Unsigned DLLs. Also habe ich mit ilMerge aus den Unsigned, Signed DLLs erstellt.

Nun gut, die neu erstellten DLLs benötigen allerdings eine Unmanaged Unsigned DLL.

Sobald ich ein Object aus der neu Signed DLL erstellen will, erhalte ich die Fehlermeldung:

Die Datei oder Assembly MeineUnmanaged, Version=1.3.2.3, Culture=neutral, PublicKeyToken=null oder eine Abhängigkeit davon wurde nicht gefunden. Eine Assembly mit starkem Namen ist erforderlich. (Ausnahme von HRESULT: 0x80131044) Ich dachte, das Problem würde nicht auftreten, wenn sich die Unmanaged DLL mit im Verzeichnis befindet, leider tritt der Fehler aber weiterhin auf.

Füge ich die Unmanaged und die Managed DLL beim ilMerge-Vorgang zusammen, erhalte ich eine Fehlermeldung, dass kein Entry Point definiert wäre...

Ich habe leider nicht die Möglichkeit, den StrongName zu entfernen, da weitere Projekte von meinem Projekt gebrauch machen, die alle einen StrongName besitzen.

17.09.2008 - 11:44 Uhr

Hallo Lion1984,

du könntest das PrintEvent selbst handlen und da einen PrintDialog zeigen. Dementsprechend dann das Dokument selbst auf den gewählten Drucker drucken.

17.09.2008 - 11:17 Uhr
  1. du erbst und überschreibst onpaint, um die selektion geradezubiegen.

Könnte sein, dass ich mich irre aber soweit ich weiß habe ich das schonmal versucht. Das OnPaint wird aber glaube ich garnicht ausgelöst.

Wie gesagt, ich könnte mich irren.

17.09.2008 - 10:59 Uhr

Hallo trib,

mit dem Control wirst du wenig weiterkommen. Das ist ein allgemeiner Bug des Controls unter Win XP. Unter Vista funktioniert das Control

Ich behaupte einfach mal, dass M$ bei der Entwicklung des Controls gepfuscht hab.

Du hast jetzt nur 3 Möglichkeiten:

  1. Du gibst dich mit dem Anzeigefehler zufrieden
  2. Du suchst im Web nach einem UserControl
  3. Du entwickelst das Control selbst neu

Die Geschichte mit dem Control ist traurig aber was soll man machen...

16.09.2008 - 09:38 Uhr

Nein ich meinte das so:

MyCustomObject myObj = new MyCustomObject(); //Dieses objekt besitzt deine PrintMethode
m.Invoke(myObj, invokeArgs);
16.09.2008 - 09:20 Uhr

Hallo Sal,

m.Invoke(null, invokeArgs);  //wirft exception: Non-static method requires a target.

Du darfst hierbei nicht null als ersten Parameter übergeben, da sonst das Programm kein Objekt hat, indem es die Methode aufrufen kann.

Du könntest dir den Konstruktor für "type" (also deinem Objekt, welches du instanziieren müsstest) geben und dann davon ein neues Objekt erstellen.

15.09.2008 - 13:38 Uhr

Ah ok danke, dachte man könnte mit den Bindingflags das Ergebnis einschränken...

wieder was gelernt 🙂

15.09.2008 - 12:56 Uhr

Hallo fadass,

die Übergabe von Flags filtert ja nur das Ergebnis, d.h. ich könnte jetzt Public-Methoden usw. ausschließen.

Das Problem allerdings ist, dass die eigenen Methoden nichtmal in einer ungefilterten Liste vorhanden sind.

Ich habe also irgendwo einen Denkfehler und warte auf Rat 🙂

//Edit: Es liegt wohl daran, dass meine Methoden private deklariert sind.

Type.GetMethods Method ()
Returns all the public methods of the current Type. Gibt es keine Möglichkeit, die private Methoden in der Klasse selbst dynamisch zu erhalten? Ich möchte nämlich eine ComboBox mit den Methoden meiner Klasse befüllen und diese dann dynamisch Invoken.

15.09.2008 - 12:41 Uhr

Du wirst aber class1 ändern müssen, wenn du das Event anhängen willst... woher soll denn class1 sonst wissen, was es tun soll, wenn class2 einen Event auslöst.

15.09.2008 - 12:38 Uhr

Hallo,

folgender QC liefert mir nur die Methoden, die eine Form schon von vornherein besitzt, nicht aber die Methoden, die ich in der Form-Klasse selbst geschrieben habe:

//this ist vom Typ MyTestForm : Form
MethodInfo[] mInfos = this.GetType().GetMethods();

Warum ist das so?

Aufbau meiner Methoden ist wie folgt:

[IsMyMethod(true)]
private string Foo() {
  return "foo";
}
public bool IsMyMethod : Attribute {
  private bool isMine = false;
  public bool isMine {
    get { return isMine; }
    set { isMine = value; }
  }
}

mInfos sollte doch die Methode Foo beinhalten.

15.09.2008 - 12:32 Uhr

Warum erstellst du in class2 nicht einfach einen Event den du in class1 anhängst. Dafür brauchst du keinen Delegaten.

(Wie das geht, ist aber Basiswissen. SuFu hilft hier auch weiter.)

15.09.2008 - 10:38 Uhr

Hallo s0h0,

benenne den delegaten anders, als die Methode des Events.

bsp:

public delegate void MyTextChangedDelegate(object sender, EventArgs e);
         void textBox1_TextChanged(object sender, EventArgs e)
        {
            mu = "tschüss";
        } 

//Edit: Was hast du eigentlich damit vor? Einen Sinn macht das imo noch nicht.

Den Delegaten brauchst du eigentlich an dieser Stelle nicht.

12.09.2008 - 12:26 Uhr

Hallo liox,

  1. Basiswissen
  2. Für den Vorgang hast du nichts in der Program.cs zu suchen.
11.09.2008 - 15:52 Uhr

Hallo Arathmar,

einfach rekursiv im UserControl durch die Controls loopen und .KeyDown += an ein eigenes Event anhängen. Da dann e.Handeled = true setzen und selbst was machen.

10.09.2008 - 16:15 Uhr
QM_Tool qm = new QM_Tool();

sqlcsb.DataSource = (string)qm.listBox1.SelectedItem.ToString();

Dir ist schon klar, dass "qm" leer ist und an dieser Stelle völlig falsch... Mit "qm.listBox1" greifst du auf die gerade erstellte Variable zu.

Gehört aber eher zu den Grundlagen.

10.09.2008 - 16:03 Uhr

Hallo olwielan,

also folgendes habe ich gerade getestet:

public static T ReadFromXml<T>(string filePath) where T : class {
            T result = null;

            XmlSerializer serializer = new XmlSerializer(typeof(T));

            using(StreamReader reader = new StreamReader(filePath)) {
                result = serializer.Deserialize(reader) as T;
            }

            return result;
        }

        public static void WriteToXml(string filePath, object writingObject) {
            XmlSerializer serializer = new XmlSerializer(writingObject.GetType());

            using(StreamWriter writer = new StreamWriter(filePath)) {
                serializer.Serialize(writer, writingObject);
            }
        }
}

Das funktioniert bei mir.

//Edit: Ne klammer vergessen

10.09.2008 - 15:48 Uhr

Hallo Rasta,

am besten SelectedIndexChanged-Event nutzen und prüfen, ob SelectedIndex ≥ 0, dann kannst du auch auf das Item per .Items[.SelectedIndex] zugreifen.

@Lecrell: Wie kommst du darauf, dass hier ein WebControl verwendet wird? 🙂

10.09.2008 - 15:08 Uhr

Ach schade... wäre doch was, wenn man dadurch übernatürliche Kräfte bekommen würde 😁

Naja, ich kann schon übernatürlich gut nichts tun.

10.09.2008 - 13:20 Uhr

ist noch niemandem aufgefallen, dass wir den heutigen tag schon zum 17ten mal erleben?

edit: 18
edit: 19
... Dadurch, dass du weißt, dass es der gleiche Tag ist, ist es schon nichtmehr der gleiche Tag da du dich anders verhälst und damit die Zukunft änderst folglich ist es ein anderer Tag 😜

Aber das ist ein anderes Thema...

@Thema: Frage, was würde passieren, wenn sich jemand in den Strahl stellen würde?

10.09.2008 - 09:30 Uhr

Seavas,
Die Mehrheit wird uns Programmierer für verrückt erklären aber mir persönlich ist egal was dien anderen Leute darüber denken. Hey, nichtmal ich glaube, dass wir normal sind 😁

10.09.2008 - 09:26 Uhr

Naja ich bekomm kein Signal 🙁

09.09.2008 - 16:18 Uhr

it diesem einfachen Code lassen sich zur Laufzeit alle checkBoxen aktivieren/deaktivieren: Stimmt nicht, da dein Aufruf nicht rekursiv ist. Setzte mal eine Checkbox in ein Panel oder eine Groupbox.

08.09.2008 - 14:44 Uhr
Application.Run(new MeineForm());

erzeugt einen neuen Thread, i.d.R. eben den Hauptthread der Applikation.

08.09.2008 - 13:03 Uhr

Gabs schon zig-tausend threads dazu... stichwort Invoke.

08.09.2008 - 11:38 Uhr

Ein Podcast oder WebStream zu den Experimenten wäre sicherlich interessant.

Ich habe das Gefühl, ihr seid alles die übelsten Nerds was ihr so labert 😄

08.09.2008 - 10:56 Uhr

Wann wollen die des ding eigentlich anwerfen??? Ich habe was vom 10. September gelesen.

@Thema:
Ach wenns doch nur so sicher wäre dass wir bei dem Versuch draufgehen... könnt ich jetzt erstmal noch schnell paar Dinge erledigen die auf der Liste "10 Dinge die ich vor dem Tod erledigen muss" stehen. (Quasi eine TODO-Liste 😄)

Naja warten wir mal ab, die Welt ist zum Millenium ja auch nicht untergegangen.

08.09.2008 - 09:27 Uhr

im ersten fall muss man sein handy an den pc anschließen und als modem laufen lassen...
das kostet gebühren... dem will ich eigentlich entgehen...

und der zweite fall... ich will über icq messages schicken, durch mein programm...
nicht nen neuen client schreiben 🙂

  1. Wie tscherno sagte, SMS kosten immer Gebühren. Es gibt soweit ich weiß keine kostenlose Methode (mehr).

  2. Durch meinen Edit habe ich den Link gepostet, der beschreibt, wie du msgs via WebService verschicken kannst.

08.09.2008 - 08:24 Uhr

Also wenn ich nach

c# short message service

google, dann bekomme ich gleich als ersten Treffer Short Message Service (SMS) using Visual C# 2005, Visual Basic ...

Bei

c# icq

ist es dann 'leider' erst der zweite Treffer

ICQ Client written in C#

//Edit: russisch 🙁 dann doch lieber den ersten treffer
AcrossCommunications C# Sample

05.09.2008 - 10:42 Uhr

Hallo djCalypso,

Falsches Forum... das wäre eher was fürs Miranda-IM Forum.

05.09.2008 - 07:49 Uhr

Oder man macht sich dafür Buttons in der Toolleiste 😁

05.09.2008 - 07:21 Uhr

tja, die lustigen Sachen die in C/C++ gingen gibts jetzt nicht mehr ... 😉 Was eigentlich Schade ist im Fall von switch.

Soweit ich weiß, kann man aber

switch (var) {
   case 0:
       // bisschen was
      break;
   case 1:
   case 2:
      // bisschen mehr
     break;
   default:
     // garnix
     break;
}

machen.

05.09.2008 - 07:12 Uhr

Hier bin mal ich (halbes Jahr altes Bild von der Cebit mit Brille.

//Mehr Pics gibts auf meiner HP

frisch aus dem urlaub 🙂 Ich war nicht im Urlaub 😜

04.09.2008 - 09:33 Uhr

Hallo monyc,

Na einfach ein Dictionary<string, Image> machen wobei der Key der Firmenname und Value dann das Firmenlogo ist.

Einfach beim GridView_CellClick-Event prüfen, ob das Dictionary die Value der Cell als Key enthält und entsprechend die Value aus dem Dictionary holen.

01.09.2008 - 13:49 Uhr

Hallo 1nf1n1ty,

ich würde das Ganze ebenfalls in einer Queue realisieren bzw. habe das schon intern für die Firma gemacht. 😁

Hmm... schade. Das 2.0 Framework ist ja bei Windows XP schon Standard. Ich hoffe du hast dich verschrieben und meinst Vista.

@DavidT: Ich glaube, dass mir da die Teammitglieder zustimmen, wenn ich sage, dass du deine Diskussion bitte in einen Extra-Thread packst.

01.09.2008 - 11:34 Uhr

Thema nochmal hergeholt, da ich zz. in der gleichen Situation bin wie der OP

@deemax: Wie erstellst du das PDF? Bleiben dabei die Querverweise erhalten?

Nutze atm den PDF-Creator, der kann die Links aber nicht beibehalten.

28.08.2008 - 15:44 Uhr

Ich hab doch da ne Und-Verknüpfung dazwischen, warum ergibt das dann immer True? 8o dir ist schon klar, dass || ein OR-Operant ist oder?

28.08.2008 - 15:34 Uhr

Hallo Rasta,

deine ersten beiden Abfragen ergeben eigentlich IMMER true, außer du hast deine Zwischenablage geleert...

28.08.2008 - 14:30 Uhr

Hallo IceOnly,

erst suchen, dann googlen, dann fragen...

Named pipes issue: WaitForConnection hangs around indefinitely

28.08.2008 - 14:17 Uhr

Ok, danke für den Hinweis.

Habe mich ja vorher schon mit XmlSerialzation auseinander gesetzt und da hatte es ja auch geklappt. Das Problem lag woanders. Die BackupDatei die ich einlesen wollte, stammte aus einem früheren BackupVerfahren 🤔

28.08.2008 - 13:51 Uhr

Hallo,

ich bin gerade dabei eine BackUp-Funktion für eigene Objekte zu schreiben.

Habe dafür ien BackUp-Objekt mit verschiedenen Properties. Das BackUp-Objekt wird Serialisiert und Deserialisiert.

Das Problem hierbei ist, dass sich das Objekt ändern kann. Somit könnte ich z. B. eine ältere Version des BackUps nicht wiederherstellen, falls ich etwas am Objekt ändere (Bsp: neue Properties hinzufügen...).

Gibt es per Serialization eine Möglichkeit, die verwendete Methodik auch für ältere Versionsobjekte kompatibel zu machen, ohne die alten Objektklassen beibehalten zu müssen?

28.08.2008 - 09:24 Uhr

Mit try/catch zu arbeiten, ist eh keine gute Lösung imo. Man sollte try/catch nur in einzelfällen verwenden (z.B. bei Transaktionen mit der DB). Eben da, wo man den Fehler nicht selbst 100%ig vermeiden kann.

Zum Exception-Handling mit Anzeige der Fehlermeldung bitte meinen ersten Post beachten.

27.08.2008 - 17:54 Uhr

Hallo Durst,

auf keinen Fall den Xml-Text per Hand zusammenfügen. Arbeite da lieber mit XmlAttribute, wenn du schon XmlNode verwendest -> XmlNode.Attributes

27.08.2008 - 17:46 Uhr

Hallo philatm,

Erstelle ich jetzt für jeden Fehler eine eigene Exception? Auf keinen Fall. Eigene Exceptions solltest du vermeiden oder nur dann erstellen, wenn die vorgefertigten Exceptions nicht zum Fehler passen. Siehe dazu verschiedene Artikel zu Exception Design Guidelines.

Eine Methode wäre natürlich, Application.ThreadException abzufangen und selbst zu handlen. Da kannst du ja ein eigenes Fenster anzeigen lassen.

//Edit: EventNamen korrigiert

27.08.2008 - 12:27 Uhr

Das beste ist, dieses Gerät wird heute noch mit Windows XP betrieben, nur für Office aber OK 8o wie zum Henker bekommst du bitte auf so einem Rechner XP zum laufen?

26.08.2008 - 15:52 Uhr

Hallo VerenaThiebus,

if(strVar == strVar.ToUpper())
 Console.WriteLine("Die Eingabe ist gross geschrieben");
26.08.2008 - 13:43 Uhr

Was ich mich bei sowas immer Frage:

Wozu braucht man 1120GB Festplatte?

Ich hab ne Filmsammlung von ca. 300 GB, Musik ca. 24 GB, Spiele Programme usw, gesicherte CDs/DVDs, Datensicherung

Ich erweitere meine Multimediasammlung gerne. Sodass ich später mir einen zweiten Rechner kaufe, den ich als Wohnzimmer PC umbaue oder mir nen Server in Keller stelle da alles drauf und per WLAN ins Wohnzimmer streamen 😉 Oha da outet sich ein Raubkopierer 😜

25.08.2008 - 17:14 Uhr

Ab und zu auch mal Charts wenn was wirklich neues & gutes dabei ist ...

Wirklich neu sind die Sachen im Radio ja meist leider nicht, als würden die Ideen ausgehen..Dauernd wird alles zum 5. Mal gevoered... Richtig. Ich sehe auch oft Songs in den deutschen Charts, die ich schon vor einem halber Jahr gehört habe, eben bevor eine Band so richtig erfolgreich ist. Finde es einfach schade, es gibt so viele Gute Musik, die niemand kennt. Wird eine Band allerdings entdeckt, dann wird nurnoch auf Profit geachtet.

Hat man ja bei Limp Bizkit und Linkin Park gesehen. Die ersten Alben waren einfach nur genial, die neuesten totaler Schrott...

Höre zu 90% nicht-kommerzielle Musik. Geht in die Richtung Rock, wobei das Spektrum da sehr weit ist. (Screamo, Emocore, Metalcore, Nu Metal, Indy, Alternative)

Hier mein Musikprofil