Laden...

Forenbeiträge von Seikilos Ingesamt 753 Beiträge

25.02.2007 - 14:11 Uhr

Mich ja auch, nur find ich es nicht und daher frage ich

25.02.2007 - 13:57 Uhr

Wenn ich mit rechts auf eine Zeile klicke, wird diese ja selektiert, das ist super und passt mir auch recht gut, aber kann man das gleiche verhalten irgendwie auch für die linke Taste erreichen? Ich würde gerne auch mit linksklick dinge selektieren können, finde aber in der Help keine wirkliche hilfe bezüglich der Selektion von Zeilen, über denen man mit der Maus ist. Man kann ja die Reihe Selected = true setzen, dass ja, aber woher weiß ich denn, an welcher Reihe gerade meine Maus ist?

25.02.2007 - 13:47 Uhr

Gibt es irgend eine Möglichkeit die Fensterpositionen zu speichern? Ich kann die Fenster zurücksetzen, aber keine verschiedenen Positionen speichern, was recht störend ist. Ich würd gerne mehre Ansichtsvariationen haben.
Find ich es nicht, oder fehlt die Funktion?

25.02.2007 - 12:42 Uhr

Naja eben, ich brauch ihn nicht primär dafür, aber an der Stelle wo ich das Dictionary durcharbeite, brauch ich auch einen Index für andere Operationen, jetzt ist der Index extern durch eine eigene Zählvariable.

Danke

25.02.2007 - 12:38 Uhr

Wie im meinen Beitrag erwähnt hab,hab ich mir die KeyCollecton angeguckt, aber dort kann ich ja genausowenig mit KeyCollection[int index] durchgehen

25.02.2007 - 12:33 Uhr

Ich sitz auf dem Schlauch, ich brauche vom Dictionary<> Objekt eine Iteration inklusive der Key zuweisungen, aber ohne foreach, weil ich meine for Schleife mit der Indexvariable noch brauche, doch kommt man irgendwie an die Keys so ran? Ich hab mir auch schon Dictionary.KeyCollection angeguckt, aber sa gehts auch nicht.
Sehe ich richtig, dass es nur zwei Wege gibt? Einmal foreach und eine externe Iteratorvariable für andere Aktionen oder andersrum, for(i... und das mit dem Enumerator Objekt des Dictionaries? Wobei ich denke dass die erste Variante besser ist, da foreach die Komplexität des Enumerators verdeckt

23.02.2007 - 13:39 Uhr

Habs gefunden, man muss die VS Remote Tools anwerfen und sich dadurch in das Gerät einloggen

23.02.2007 - 12:24 Uhr

Wenn ich eine Anwendung für PocketPC entwickel und diese teste, bekomme ich ja den Emulator davon und die exe wird gestartet, so weit so gut, aber wie bekomme ich txt Dateien usw, die von der Exe benötigt werden ebenfalls zur Exe auf dem PocketPC Emulator, ich weiß wo die Exe ist, aber wie kann ich denn die Daten des PCs mit dem Emulator synchronisieren.

Sagt nicht, ich muss mir Active Sync laden

23.02.2007 - 11:39 Uhr

So, bin jetzt beim Smartphone Pocet PC mit CF 2 und möchte eine Konsolenanwendung erstellen, hab auch ne Main, kann die lustig füllen, aber wie ruf ich denn die Konsole oder sonst was auf um das Programm zu starten, wo befinder sich dass denn usw?

24.01.2007 - 18:53 Uhr

Naja ich muss wieder auf den backGroundworker zugreifen können

24.01.2007 - 18:44 Uhr

Ich hab auf der Form ein Control bWCopier, welcher ein BackgroundWorker ist, in einem anderem Window bekomme ich die Form übergeben, aber ich krieg den backgroundworker dort nicht raus, normalerweise muss das doch gehen, oder?
Ich habs mit checkboxen an anderen stellen hinbekommen


((BackgroundWorker)parent.Controls["bWSongCopier"]).CancelAsync();

Als Meldung bekomme ich nur

Fehler	1	Eine Konvertierung vom Typ "System.Windows.Forms.Control" in "System.ComponentModel.BackgroundWorker" ist nicht möglich.	CopyWindow.cs	39	35	Image2Audio

24.01.2007 - 18:30 Uhr

Oh, bin nich weiter als getTypes gekommen 🙂 Danke

24.01.2007 - 18:22 Uhr

Ich hab mehrere Klassen, von denen verschiedene Klassen verschiedene, bekannte, Interfaces implementieren und ich bin mir nicht sicher, wie ich das Interface rausbekomme, bei abstrakten Klassen ist das ja nicht das Problem, aber bei Interfaces fällt mir nur der Vesuch das Ding in X oder Y zu casten, gibt es noch andere wege?

24.01.2007 - 16:33 Uhr

Argh, was für ein Mist.
Ich hab einen Teil des Problems gefunden, das DGV steht auf AllowUserDelete Rows, das Lösch event ruft aber Updateview auf, welches irgendwann das DGV neu erzeugt und dann ist die lösch methode fertig und das DGV löscht eine zusätzliche Zeile weg, ausgelöst durch das Event. aua!

Ich gucke mal, ob das das Problem war, ansonsten vielen dank für die Hilfe!

Edit: Das Problem ist ferner, dass nach dem löschen die DGV Rows nicht intern neu indiziert werden und dann von der Logik ein Element nicht mehr die gleiche Zuordnung hat, seltsam

24.01.2007 - 16:20 Uhr

Wenn ich die ersten beiden auskommentiere treten immernoch sofort die Exceptions auf, wenn ich Updateview weglasse treten irgendwann andere exceptions auf, weil der dgv nicht mehr die gleiche anzahl an einträgen wie die liste hat.

Hm, ich entdecke gerade irgendwelche synchronizitätsprobleme, wenn ich einen aus der mitte entferne kommt keine exception, aber seltsamer weiße verschwinden zwei zeilen aus dem Grid

24.01.2007 - 15:46 Uhr

Hm, wo gehört das hin?
App.DoEvents löst keine Exception aus

24.01.2007 - 15:37 Uhr

Edit: Ach du meinst bei dem Removed Row ding, sekunde

24.01.2007 - 15:19 Uhr

Keine Threads und ich schicke nichts, hab ja alle Methoden nun nummeriert und sonst würde andere Methoden eventuelle events behandeln, was sie nicht tun.

24.01.2007 - 14:42 Uhr

Das ist zum kotzen, ich hab alle 46 relevanten Methoden mit MessageBox.Show("nummer"); in der ersten Zeile markiert und nach userdeleterow wird wirklich nichts anderes mehr aufgerufen, dass ding knallt sich einfach aus dem System
Es kommt erst 43, was die Methode da oben ist und dann kommt 6, was updateView ist danach MessageBox.Show("test"); und dann ist sense

24.01.2007 - 14:38 Uhr

Updateview baut das DGV durch filterList neu auf, und es wurde schon alles Zeilenweise mit Break und Zeilenweise duchackern gesucht, das Problem liegt nicht dort, denn die Methode wird beendet, und nach dem mbox kommt die Exception.
Ich nummeriere gerade alle Methoden 😠 um das zu prüfen

24.01.2007 - 14:28 Uhr

Hab natürlich nichts bei InitializeComponents verändert.
Und ja das Problem taucht beim löschen auf aber sind hier über 1000 zeilen code mit ner Menge DGV Zugriff, da kann man Code schlecht zeigen, die löschen Methode ist hier:


private void dGVAllFiles_RowsRemoved(object sender, DataGridViewRowCancelEventArgs e)
        {
            
            // Remove index from songList
            int ind_ex = int.Parse(e.Row.Cells[2].Value.ToString());

          
            songList.Remove(filterList[ind_ex]);

            // Remove it from filterList
            filterList.RemoveAt(ind_ex);

            updateView();

            MessageBox.Show("test");

        }

Nach updateView krieg noch keine Exception, aber nach MessageBox , also wenn die Methode fertig ist, gehts in die Hose und keine Ahnung warum !?

23.01.2007 - 22:41 Uhr

Hi, das habe ich bereits durch, das Ergebnis war:

Eine Ausnahme (erste Chance) des Typs "System.ArgumentOutOfRangeException" ist in mscorlib.dll aufgetreten.
   bei System.Collections.ArrayList.get_Item(Int32 index)
   bei System.Windows.Forms.DataGridViewRowCollection.SharedRow(Int32 rowIndex)
   bei System.Windows.Forms.DataGridViewRowCollection.get_Item(Int32 index)
   bei System.Windows.Forms.DataGridView.ProcessDeleteKey(Keys keyData)
   bei System.Windows.Forms.DataGridView.ProcessDataGridViewKey(KeyEventArgs e)
   bei System.Windows.Forms.DataGridView.OnKeyDown(KeyEventArgs e)
   bei System.Windows.Forms.Control.ProcessKeyEventArgs(Message& m)
   bei System.Windows.Forms.DataGridView.ProcessKeyEventArgs(Message& m)
   bei System.Windows.Forms.Control.ProcessKeyMessage(Message& m)
   bei System.Windows.Forms.Control.WmKeyChar(Message& m)
   bei System.Windows.Forms.Control.WndProc(Message& m)
   bei System.Windows.Forms.DataGridView.WndProc(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   bei System.Windows.Forms.NativeWindoDer Thread '<Kein Name>' (0x1130) hat mit Code 0 (0x0) geendet.
w.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   bei System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   bei System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
   bei System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   bei System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   bei System.Windows.Forms.Application.Run(Form mainForm)
   bei Image2Audio.Program.Main() in C:\Studium\WP Gestaltung\Audio2Play\Final\Image2Audio\Image2Audio\Program.cs:Zeile 19.
Der Thread '<Kein Name>' (0xe10) hat mit Code 0 (0x0) geendet.
Das Programm "[4776] Image2Audio.vshost.exe: Verwaltet" wurde mit Code 0 (0x0) beendet.

Der Haken ist, ich habe keine ArrayList in dem Programm

23.01.2007 - 21:57 Uhr

Sitz den ganzen Tag an der Suche dieses Fehlers.

Mein Programm hat durch eine Modifikation an einer bekannten Stelle das Problem, dass
ich eine System.ArgumentOutOfRangeException mit der Beschreibung

Der Index lag außerhalb des Bereichs. Er muss nicht negativ und kleiner als die Auflistung sein.
Parametername: index

bekomme.
Das Problem, die Exception wird hier geworfen:

[STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
   --->>>         Application.Run(new Main());
        }

Also am Ende des Programms und ich kann den Fehler nicht lokalisieren.
Ferner steht da Paramtername: index, ich hab im Code alle index Variablen Methodenweise in ind_ex umbenannt, die Paramterbeschreibung ist also von dem Objekt, was ich nutze, ich hab hier wirklich viele Stellen an denen ich List<T>[wert] und DGV.Rows[wert] nutze.
Das Problem ist, ich habe keine Möglichkeit mehr, das zu Debuggen um den Fehler zu finden.

Die Stelle, welche auskommentiert keinen Fehler verursacht ist die Quelle des Fehlers, aber der Fehler ansich passiert als Reaktion auf die Tat, ich habe schon Zeilenweise mit F10 und F11 alles durchgearbeitet, ich sehe dort keinen Fehler und das Problem ist, dass die Exception dann geworfen wird, wenn die Methode komplett abgearbeitet wurde.
Es laufen keine Threads, aber ich habe Komponenten die auf changed Events reagieren, nur haben die anscheinend nichts damit zutun.
Kennt jemand noch Wege, wie ich an mehr Details rankomme? In der Exception steht nichts hilfreiches 😠

23.01.2007 - 11:04 Uhr

Teste ich, danke.
Jedoch hat mein e bei KeyPressed nur e.KeyChar

23.01.2007 - 10:39 Uhr

Ich hab bei einem Controll bei pressed den Code

if (e.KeyChar == (char)Keys.Back)
            {
                //geht
            }
            else if (e.KeyChar == (char)Keys.Delete)
            {

// geht nicht
}

Ich kann alle Keys abfangen, nur die die Steuertasten wie Keys.Delete, Bild rauf, Bild runter usw, aber ich brauch diese Tasten, es gibt auch keine Aktion, wenn ich mit Form.KeyPreview die Tastenabfange, es wird einfach nichts gesendet

21.01.2007 - 20:02 Uhr

Ja, anscheinend hat die Form ihre eigenen Attribute für Mausereignisse 🙂

21.01.2007 - 19:51 Uhr

Ist immer zur Hand.
Aber was meinst du damit? Warum ich eine Kopie brauche?
Das liegt an der Thematik, ich brauche eine Workingcopy, aus der nach und nach Einträge rausfliegen, dabei darf allerdings das Original nicht beeinflusst werden, weil der Klon einfach ein Objekt ist, auf das Filter wirken können.

Hm, wobei das n Overhead ist, wie mir gerade auffällt, da könnte ich leichter mit den Indezes der Einträge im Original arbeiten.

Danke für den Tipp 🙂

21.01.2007 - 19:45 Uhr

Das heißt ich könnte in der Kopie einen rauswerfen und im original würds bleiben, weil ich nur den Container kopiert bekommen habe.

Ok, also sollte Song IClonable implementieren? Ich gucks mir gerade an, und mir ist unklar ob ich dann den selben Konstruktor nehmenmuss, weil diese ja ein IEnumerable nimmt und kein IClonable

21.01.2007 - 19:37 Uhr

Dann müsste ich bei Mouse up und down jedesmal ne Objektvariable verändern?
Hm, dass sieht so unsauber aus 😠
Edit, seltsam: this.MouseButtons zeigts richtig an

21.01.2007 - 19:31 Uhr

Der Konstruktor nimmt doch angeblich eine Collection und kopiert diese und deren Elemente, oder?
Ich hab nämlich festgestellt, dass ich


List<Song> l= new List<Song>();
l.Add(new Song("Horst");
List<Song> copy = new List<Song>(l);
copy[0].name = "Fred";

machen kann und in beiden taucht dann Fred auf, die Objekte werden nicht kopiert, obwohl der Konstruktor doch ein Copyconstructor sein soll, oder nicht?
Übersehe ich da was? Ich mein meine Klasse Song muss doch nicht explizit ein struct sein, oder?

21.01.2007 - 19:08 Uhr

Ich versuche in einem DGV das Mausrad zu benutzen, dass ist kein Problem, ich registriere ein new MouseEventHandler(DGV_MouseWheel);
Und bekomme auch rückgaben vom mausrad, nun aber zu meinem Problem, ich muss wissen, ob bei der Maus die linke Maustaste gedrückt worden ist, nur liefert mir leider das hier:


Console.WriteLine( e.Button.ToString());

Immer None, auch wenn ich während des Scrollens eine Maustaste gedrückt halte.
e ist jedoch ein ganz normales MouseEvent, welches auch Button als Eigenschaft hat

21.01.2007 - 18:11 Uhr

Oh man, das war ne lange Geburt, danke für die Hilfe !

21.01.2007 - 16:50 Uhr

Ich bin verwirrt.
Ich hab ein Projekt Plugin:


namespace Plugins
{
    interface PluginInterace
    {
.....

Dies ist als Klasse exportiert, ich habe eine Plugin.dll

Diese Plugin.dll verwende ich nun als Verweis im eigentlichen Plugin, dann steht in den Verweisen Plugin, ok.
Ich füge den Namespace hinzu, jedoch sehe ich PluginInterface nicht

using Plugins;
namespace XmlExport
{

    public class XmlExport: Plugins:PluginInterface
    {


Aber ich bekomme die Meldung, dass bei XmlExport... der Typ oder Namespace PluginInterface nicht vorhanden ist, und InteliSense zeigt auch kein Plugins Namespace wennich P eingeben

21.01.2007 - 16:29 Uhr

Achso, ich muss also eine Interface DLL haben?

21.01.2007 - 15:26 Uhr

Aber was ist die Lösung? Es sind zwei eigenständige Projekte.
Beide haben ein Interface Plugin im Namespace Plugins (jeweils deren Projekteigener Namespace)

Müsste das Plugin Projekt nicht automatisch eine Referenz auf das Projekteigene Plugin Interface setzen?
Und warum spielt das ne Rolle? Ich meint es ist das gleiche Interface.
Und wie löst man denn sowas, wenn man die Möglichkeit geben will, Plugins zu entwicklen, aber nicht das Anwendungs Projekt geben will?

21.01.2007 - 15:13 Uhr

Es gibt keine Referenz auf die Anwendung im Plugin, das Plugin verwendet eine eigene Interface Plugin Klasse.

Das ist doch der sinn, oder nicht? Ich will keine Referenz auf die Anwendung, wenn man Plugins entwickelt, so hat man doch höchstens das Interface und nicht den Code der anwendung

21.01.2007 - 14:54 Uhr

Ehm, ok, das sagt mir was?
Ich referenziere doch die Assembly in der DLL und da ist nur eine drin?

21.01.2007 - 14:39 Uhr

Ehm, was bedeutet die "InvalidCastException", die so aussieht:

Das Objekt des Typs Plugins.XmlExport kann nicht in Typ Plugins.Plugin umgewandelt werden.

Das kann ich leider nicht nachvollziehen, denn XmlExport implementiert doch Plugins.Plugin.
XmlExport sieht so aus:


namespace Plugins
{

    public class XmlExport:Plugin
    {
....

Gibt es einen Grund, warum man den nicht dahin casten kann?

21.01.2007 - 13:33 Uhr

Mh, der ganze Overhead in einigen Threads ist ja wahnsinn und bei Codeprojects wurde alles so verschachtelt, dass es mir mal garnichts gebracht hat.
In nem Thread hab ich dann


 Assembly pluginAssembly = Assembly.LoadFrom(@"Pfad zur DLL");
           
Console.WriteLine(pluginAssembly.GetTypes()[0].Name);
            Type t = pluginAssembly.GetTypes()[0];
            

            // Objekt der gewünschten Klasse erzeugen und casten
            Plugin p = (Plugin)pluginAssembly.CreateInstance(t.Name,true);

(Plugin ist ein Interface, was im Plugin implementiert worden ist und im Projekt hier bekannt ist)
Gefunden, aber p ist bei mir null, obwohl t der richtige Typ ist und t.Name auch

Edit: Ich bin ein bisschen Klüger geworden, createInstance braucht FullName, also namespace.klasse
Aber da kommt invalidcastexception, weil der namespace ja nicht wirklich bekannt ist, hmmm

21.01.2007 - 12:47 Uhr

Jau, Codeproject hilft, im Forum bin ich die ganze Zeit direkt in Reflections usw gelandet, was mir nicht zwingend was gebracht hat.

Danke 🙂

21.01.2007 - 12:39 Uhr

Wie ich eine Dll erstelle weiß ich, mir geht es um etwas anderes, und zwar möchte ich quasi Plugins realisieren, jedoch auf einem äußerst simplen Niveau.
Im Grunde sollen die DLLs nur eine Methode a haben, die Parameter nimmt und n String zurückgibt.
Dlls oder andere Dateien aus einem Ordner lesen krieg ich gebacken, nur weiß ich nicht genau,wie ich die DLL anspreche, da ich das ja dynamisch mache, weiß ich nicht, wie ich um etwaige DLL Imports komme.
Ich hoffe jemand hat einen Tipp oder hilfreichen Link.

Danke 🙂

21.01.2007 - 12:00 Uhr

Ich hab in einem Panel 2 buttons und ein Check box, darunter hab ich eine PictureBox, alles ok, drück ich aber auf F6,so aktualisiert sich das Ding und alle Elemente verschwinden in den Hintergrund, ich kann sie umständlich markieren, aber Rechtsklick und "in Vordergrund" hat keine Auswirkungen.
was kann ich da tun? Es ist kein UC, also keine Komponente, die zur Designtime irgendwas ausführt, aber ich find den Fehler nicht und in einem leeren Projekt kann ich es nicht reproduzieren.
Vertausche ich die beiden Panels dann sehe ich auch die Buttons wieder

20.01.2007 - 19:16 Uhr

Ich hab folgendes theoretisches Problem, was ich nicht lösen kann.
Ich hab eine Engine, die hat ne Methode, welche Objekte bewegt, sagen wir grob jedes Objekt wird auf der X Achse einfach addiert.
Dann hab 2 Objekte, die ich hin und her schleudern will, aber wie genau geht das?
Objekt 1 hat die Fähigkeit 1 mal vom Rand abzuprallen, und Objekt 2 hat die Fähigkeit 2 mal abzuprallen.
Das Abprallen soll von mir aus eine Klasse sein, die sagt wann welcher X wert nicht geht.

Mein Problem ist nun, wer was wie bewegt? Die Engine weiß wie man etwas bewegt, das Objekt weiß, wie es sich verhalten soll und die Klasse Level weiß wo die Grenzen sind. Wie würde so was ablaufen? Würde das jeweilige Objekt die Engine nutzen, oder bekommt die Engine das Objekt?
Wird so was in der Regel so gelöst, dass das Objekt die Engine nimmt und mit Parametern initialisiert?
Wenn ja was weiter, es wäre möglich, dass das Objekt dann einen Wert t wie Zeit an Engine gibt und die Engine gibt einen Positionswert zurück?
Wobei t ja irgendwie imaginär ist, einfach irgend ein Iterator der durch Intervall oder onEnterFrame bestimmt wird?

Laufen Engines so?
Anders rum kann ich mir nicht wirklich vorstellen, wie das gehen soll. Der andere Weg wäre dann, das Objekt wird der Engine übergeben, die Engine wird gestartet und läuft selbstständig und bewegt das übergebene Objekt? Wenn das die Lösung ist, wie steuert man dann das benutzerdefinierte Verhalten der Objekte? Woher weiß die Engine ob das Objekt einmal oder zweimal abprallen soll? Und kommt ein drittes Objekt, was auf einmal nicht nur abprallt, sondern auch noch sonst was tut, müsste man ja die Engine erweitern.

Was ist hier praktikabel? Meine erste Lösung?

18.01.2007 - 22:25 Uhr

Das geht wirklich nur über diesen unbequemen weg? Ich kann nicht einfach irgendwo n paar Indezes angeben und der holt mir daraus die selection?

Edit: Das Ding hat kein Add

18.01.2007 - 22:09 Uhr

Ich komme nicht ganz dahinter, wie ich extern,also mit nem Button oder sonst wie, Zeilen selektieren kann.
Sagen wir ich hab DGV.SelectedRows[0].index und möchte das Elemente über dem Ding selektieren, wie mach ich dass, ich muss doch keine neue DataGridViewSelectedRowCollection erstellen, oder ist das tatsächlich der Weg?
Allerdings kannich dann nicht wirklich DGV.SelectedRows = meine Collection machen, weil das Ding anscheinend nur lesbar ist

17.01.2007 - 17:22 Uhr

Schade 😠 Fürs Buch ist kein Budget vorhanden und sonst gibts mal garkeine Ressourcen darüber, die mir helfen.

Noch jemand, der mir was über Bedingungen sagen kann?

16.01.2007 - 21:49 Uhr

Hmpf, das Beispiel für C# ist leer, muss wohl aus dem C++ Code schlau werden, laut dem Ding muss ich für jede Taste einen Handler registrieren, oder deute ich den Code falsch?

Edit: Online help hilft, man muss nur KeyDown usw registrieren, danke.

Und p.s. ich lese das manual auch 🙂 sonst würd ich nur in dem Forum hängen 🙂

16.01.2007 - 21:43 Uhr

Oh, super, danke für die schnell Hilfe 🙂

Edit: Aber wohin damit? In einen Thread?

16.01.2007 - 21:38 Uhr

Wo kann man die Keylistener legen, so dass im Programm immer die Keys erfasst werden, egal was gerade den Focus hast, wenn Form die Events hat, funzt es nicht, wenn der Focus in einem Datagridview ist, und so weiter

15.01.2007 - 19:39 Uhr

Ok, mein System hat im Netzwerk noch Verbinden zu MSN Relikte, aber wieso genau der darauf zugreift kann ich mir nicht erklären, der iteriert nur durch den Folder, der hier nur aus der URL besteht und verbindet sich sofort