Laden...
S
Benutzerbeschreibung

Forenbeiträge von SkySurfer Ingesamt 298 Beiträge

31.10.2008 - 13:56 Uhr

Hi,

ich hab einige Funktionen die sowohl auf einem mobilen Gerät mit CompactFramework (CF) als auch auf einem PC mit dem großen Framework(FW) laufen sollen. Das CF ist ja nur ein subset des FW deshalb war die Idee die Funktionen in eine CF DLL zu packen und man müsste Sie dann ja mit beiden Frameworks verwenden können.

Hab dazu eine DLL zum testen gemacht und es scheint sowohl mit dem CF als auch mit den FW zu laufen. Um sicher zu gehen, dass die DLL vom CF unabhängig läuft hab ich den auf dem PC deinstalliert. VS mäckert dann beim öffnen des Projekts die Anwendung die die dll verwendet kann ich jedoch starten.

Muss ich nochetwas beachten?

Gruß SkySurfer

31.10.2008 - 11:04 Uhr

Hi,

ich plane gerade an einem mobilen Client für einen Webservice. Das Problem dabei ist, dass der Client auch offline arbeiten können muss.

Bis jetzt sind mir 2 Anätze eingefallen:

  • Einen Proxydienst auf dem mobil Gerät einsetzen, der die Webservice anfragen abfängt, bei Verbindung sendet und die Antworten des Services cached und wenn keine Verbindung besteht zurückliefert. Hier müsste man zumindest die Funktionen zur Eingabevalidierung die der WS bereitstellt lokal abbilden, was die SOA Prinzipien verletzen würde...

  • Den Webservice um eine Synchronisationsmethode erweitern, der die Daten der Webservices mit einem lokalen mobil SQL Server abgleicht. Hierbei würden die offiziellen Methoden umgangen, und man muss 2 Pfade konsitent halten bei Änderungen an der Geschäftslogik...

Problem das ich bei beiden Ansätzen sehe ist die konsistenz der Daten zu erhalten. Da sich die Daten sowohl im Client als auch im Webservice wärend der offline Zeit ändern können.

Habt ihr vielleicht noch Ideen, Verbesserungsvorschläge oder einen ganz anderen Ansatz ?

13.10.2008 - 16:34 Uhr

Hallo,

ich muss eines unserer Projekt um eine webbasierte Schnittstelle erweitern, da ich mit ASP.NET und Webservices noch nicht all zu viel zu tun hatte wirft die Planung einige Fragen für mich auf :

Da der Service über ein Webportal und mobiles Endgeräte verfügbar sein muss, war die Idee die Schnittstellen als Webservices zu implementieren. Der Service und am besten auch das Webportal soll gemeinsam auf einem eigenen Server laufen. Die Daten zwischen der bestehenden Anwendung und dem Webservice soll über synchronisierte Datenbanken laufen.

Die Services haben verschiedene Zugriffsebenen. Die Benutzer müssen sich also am Webservice authentifizieren. Für .NET 3.0 hab ich gesehen, dasd es eine Workflow Fondation gibt die das User und Role Management bei SOA Anwendungen handeln soll. Gibt es sowas auch für .NET 2.0 ?

Die bestehende Anwendung Arbeitet mit CrystalReports deshalb wäre es toll wenn ich diese für die PDF Erzeugung weiter verwenden könnte. Ist mit ASP.NET möglich? Und wenn ja muss man es installiert werden oder reichen DLL's ?

Sprich kann ich dafür ein Hostingangebot nehmen oder muss ich ein V-Server nehmen und hab den ganzen Administrationsaufwand an der Backe...

Vielen Dank im vorraus.

MfG
SkySurfer

27.09.2008 - 15:03 Uhr

Hier noch das Testprojekt

27.09.2008 - 15:02 Uhr

Beschreibung:

Ich hab mal zur Visualisierung eines Hardwaredisplays an einem Gerät ein Softwareabbild geschaffen. Es kann beliebige Text und Hintergrundfarben darstellen. Es gibt 3 Standardschriften es können aber auch eigene bitmapbasierte Schriften definiert werden. Wordwrap ist möglich Scrolling ist ansatzweise implementiert aber da ichs nicht gebraucht habe nicht fertig geworden... kommt vielleicht noch wenn ich mal wieder nicht schlafen kann... 😁

Solltet ihr Fehler finden oder Verbesserungsvorschläge haben gebt mir bescheid.

Für den privaten Gebrauch ist das Control frei verwendbar. Solltet ihr es kommerziell nutzen wollen wird ein kleiner Tribut für meine schlaflosen Nächte fällig. 😉 Meldet euch einfach bei mir.

DLL mit Testprojekt zum rumspielen für VS2005 ist in der ZIP

Download der aktuellen Version weiter unten.

Schlagwörter: Matrixdisplay Matrix LCD Display

25.09.2008 - 10:53 Uhr

Und hier noch die VS2005 Solution zum rumspielen 😉

25.09.2008 - 10:47 Uhr

Hier noch ein Bild des Controls

25.09.2008 - 10:05 Uhr

Beschreibung:

Oft möchte man einen Status oder ähnliches grafisch darstellen die gängigste Lösung ist dafür meist die LED. Diese LED kann in frei definierbaren Intervallen und Farben blinken oder leuchten.

Solltet ihr Fehler finden oder Verbesserungsvorschläge haben gebt mir bescheid.

Für den privaten Gebrauch ist das Control frei verwendbar. Solltet ihr es kommerziell nutzen wollen wird ein kleiner Tribut für meine schlaflosen Nächte fällig. 😉 Meldet euch einfach bei mir.

Control befindet sich im Anhang.

Schlagwörter: LED LEDControl

06.09.2008 - 10:16 Uhr

Hi,

ich hab eine DataGridViewTextBoxCell abgeleitet um darin Byte werte in Hex anzuzeigen und zu bearbeiten. Anzeigen und bearbeiten funktioniert auch aber nach dem bearbeiten wird der bearbeitete Wert vom EditingControl nicht übernommen.

Ich in meiner Zelle die ParseFormatedValue Methode überschrieben um den String vom Control wieder in Byte umzuwandeln, die Methode wird beim verlassen des Edit Modes jedoch nicht aufgerufen. Was hab ich übersehen ?

Gruß SkySurfer

05.09.2008 - 12:36 Uhr

Bei dem unsigned Char parameter handelt es sich um binär Daten also denk ich byte[] wäre besser..

ich hab mal n Wrapper mit dem PInvoke Tool gemacht. Der Code ist wesentlich übersichtlicher als der von SWIG. Jedoch nimmt er auch hier bei char* als auch bei unsigned char* als übergabe parameter IntPtr. Kann ich die auch wie im Link von Kleines Eichhörnchen durch byte[] bzw string ersetzen?

05.09.2008 - 11:05 Uhr

Hi,

ich hab einen mit SWIG erzeugten Wrapper eines in C geschriebenen DLL.
Diese erwartet als Parameter ein unsigned char* und die länge,

SWIG hat daraus einen eigenen TYP gemacht. Dieser wird mit einem IntPtr initialisiert.

Die Entsprechung eines unsigned Char wäre in C# doch byte[] oder irre ich mich da?
Wie kann ich von byte[] den IntPtr erhalten?

Gruß SkySurfer

03.09.2008 - 22:04 Uhr

Wenn ich das Laden der DLL im DesignMode unterdücke bekomme ich keine Exception.

03.09.2008 - 09:05 Uhr

Die DLL's sind alle da. Wenn ich die Wrapperklasse ohne die ComponentKlasse verwende funktioniert es. Wenn ich jedoch über die ComponentKlasse gehen schlägt eine Typinitialisierung in der Wrapperklasse fehl..

02.09.2008 - 09:33 Uhr

Ich habs sowohl mit "Immer kopieren" und "Inhalt" also auch mit kopieren ins system32 Verzeichnis versucht.. beides jedoch ohne Erfolg.

@FZelle : hast du evtl ein Link zu dem Provider?

01.09.2008 - 22:20 Uhr

Hi,

ich vermute der unterschied liegt darin, dass int auf 0 initialisiert ist und string auf null
da hat er dann ein Problem mit der Referenz... das einzige was mir dazu einfallen würde wäre eine myString zu machen die auf "" initialisiert ist

Gruß SkySurfer

01.09.2008 - 16:24 Uhr

Hi,

ich hab eine DLL vom Hardwarehersteller mittels [DllImport ... ] gewrapped.
Nun möchte ich die Funktionen ähnlich wie die SerialPort Klasse verwenden.

Hab dafür einen Klasse gemacht die von Component abgeleitet ist und die gewrappeten Aufrufe verwendet und alles in eine Klassenbibliothek gepackt.

Ich kann alles kompilieren soweit kein Problem. Wenn ich im Designer meine Klasse jedoch aufs Form ziehen will bekomme ich eine Exception DLL not found..

Vermutlich weil der Designer dann nur die .Net DLL der Klassenbibliothek einbindet, jedoch nicht die System DLL.

Gibt es eine Möglichkeit die System DLL an die Klassenbibliothek "zu binden" ?

MfG SkySurfer

26.08.2008 - 11:02 Uhr

Ich hab eine Lösung gefunden :

Die Collection als Singelton ausführen und dann für Element eine Converterklasse erstellen :


 public class ElementConverter : TypeConverter
    {
        public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
        {
            return (destinationType == typeof(string));
        }

        public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
        {
            return (sourceType == typeof(string));
        }

        public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
        {
            Element el = (Element)value;
            return el.Name;
        }

        public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value)
        {
            string name = (string)value;
            foreach (Element el in ElementCollection.Instance())
            {
                if (el.Name == name)
                    return el;
            }
            return Element.Null;

        }
    }

So funktioniert es ohne Probleme und ohne das ich meine Daten noch zusätzlich in einem Dataset halten müsste.

25.08.2008 - 21:27 Uhr

Hi,

wenn du deiner String Property mit dem die Schriftart gesetzt werden soll so aussieht sollte dir der Editor angezeigt werden.


[TypeConverter(typeof(FontConverter.FontNameConverter)), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Editor("System.Drawing.Design.FontNameEditor, System.Drawing.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
public string Name
{
    get
    {
        return font.FontFamily.Name;
    }
}

MfG SkySurfer

25.08.2008 - 21:13 Uhr

Ich hab das mit dem Null Eintrag und dem Füllern der ComboBox mitterweile gelöst.. jedoch wenn ich einen neuen Wert aus der ComboBox auswähle bekomme ich die Exception, dass die Umwandlung von String zu Element nicht möglich ist. Ist ja auch logisch. Wie kann ich die Combobox dazu bringen nicht den Text den es von ToString() bekommt zuzuweisen sondern das Element von dem es ToString() geholt hat ?

24.08.2008 - 20:13 Uhr

Ich habs mal eben in eine Beispiel verpackt vielleicht kann man sichs dann besser vorstellen.

23.08.2008 - 16:25 Uhr

Hi,

ich hab eine Collection mit Einträgen. Jeder dieser Einträge hat eine Property die auf einen der anderen Einträge oder auf null verweisen kann.

Nun möchte ich diese Collection von in einem DataGridView Darstellen und die Property mit dem Verweis als eine ComboBox darstellen, so das man die Werte dort auswählen kann.

Die Collection hab ich über eine BindingSource an das DataGridView gebunden.
Die DataSource der ComboBox ist ebenfalls an die BindingSource gebunden.

Nun habe ich in der ComboBox alle Einträge der Auflistung. Jedoch keinen für NULL.
Wie kann ich den noch in die Liste bekommen ? Ich möchte nicht unbedingt einen "Null" Eintrag in der Liste haben, den man im DataGrid immer ausfiltern muss.

MfG SkySurfer

13.08.2008 - 16:53 Uhr

Leider selbes Ergebnis.

13.08.2008 - 16:31 Uhr

ÄH kopfkratz ja...

ich bin sicher das der RegEx das ausfiltert. Das Problem ist ja aber garnich das erkennen ob ein Wert invalid ist,
sondern das die KeyPressed Methode nicht merkt, dass convertFailed von false auf true geändert wurde im TextChanged Event.

13.08.2008 - 15:33 Uhr

Mit Minuten oder Sekunden größer 59

13.08.2008 - 15:20 Uhr

Ja so in der Art, soll ein UpDownTimer werden.

Das volatile war ein versuch zu erzwingen, dass convertFailed nicht zwischengespeichert wird. Jedoch ohne Erfolg.
Das Problem besteht trotzdem weiter.

Danke für den Hinweis. Hab convert mal angepasst.

13.08.2008 - 14:46 Uhr

private void convert()
{
            string[] times = Text.Split(new char[] { ':' }, StringSplitOptions.None);
            if(times.Length != 3)
            {
                timeSpan = new TimeSpan(0,0,0);
            }
            else
            {
                if (times[0] == "")
                {
                    times[0] = "0";
                }

                if (int.Parse(times[1]) > 59 || int.Parse(times[2]) > 59)
                {
                    convertFailed = true;
                    return;
                }
                timeSpan = new TimeSpan(int.Parse(times[0]),int.Parse(times[1]), int.Parse(times[2]));
                convertFailed = false;
            }
}

13.08.2008 - 14:33 Uhr

Wenn ich Breakpoints bei (1)Text = text; (2)Convert(); und (3)if(convertFailed) setze
kommen die in der Reihenfolge 1, 2, 3.

Und die Zuweisung zur Text Property sollte ja sofort die Events auslösen ?

13.08.2008 - 14:24 Uhr

Hi,

ich versuche grade das Eingabeverhalten einer Textbox zu verändern und habe dazu die KeyPressed und TextChanged Events überschrieben.

in KeyPressed wird das Zeichen geprüft und entsprechend in den vorhanden Text eigearbeitet. Danach wir der Text der Text Property zugewisen, was TextChanged aufruf.

TextChanged konvertiert die Eingabe für die interne Datenhaltung wenn eine Konvertierung nicht möglich ist setzt Sie das Feld auf den vorherigen Wert zurück und setzt das Feld convertFailed auf true;

Zurück in KeyPressed will ich Prüfen ob die Konvertierung geklappt hat um den Cursor an die entsprechen Stelle setzen zu können. Hier ist aber convertFailed immer false;

Code sagt mehr als 1000 Worte:


bool volatile convertFailed;

protected override void OnTextBoxKeyPress(object source, KeyPressEventArgs e)
{
   ...
   Text = text;
   if(convertFailed)
   {
      ...
   }

}


protected override void OnTextBoxTextChanged(object source, EventArgs e)
{
   base.OnTextBoxTextChanged(source, e);
   convert(); // Hier wird convertFailed gesetzt 
}

MfG
SkySurfer

12.08.2008 - 16:30 Uhr

Ja, in der Tat ein nicht unbedingt erwartetes Verhalten.
Hab schon langsam an meinem Verstand gezweifelt bei debuggen.

Ich werd mir die ObservableCollection mal anschauen.

Thx

12.08.2008 - 15:32 Uhr

private string[] _lines;

[Category("Appearance"), Editor("System.Windows.Forms.Design.StringArrayEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor)), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), MergableProperty(false)]
public string[] Lines
{
    get
    {
        return _lines;      
     }
     set
     {
        _lines = value;
        Invalidate();
     }
}

[Category("Appearance"), Editor("System.Windows.Forms.Design.StringArrayEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor)), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), MergableProperty(false)]
public string[] Values
{
    get
    {
        List<string> list = new List<string>();
        list.AddRange(_data1.Split(new string[]{ Environment.NewLine }, StringSplitOptions.None);
        list.AddRange(_data2.Split(new string[]{ Environment.NewLine }, StringSplitOptions.None);
        return list.ToArray();      
     }
     set
     {
        transform(value);
     }
}



12.08.2008 - 15:08 Uhr

Hi,

ich hab ein Objekt, dass ich in einem PropertyGrid anzeigen lasse. Das Objekt hat zwei string[] Properties. Die eine ist direkt mit einem Feld verbunden, die andere wird über eine Liste List<string> mit ToArray() erzeugt.

Bei der Property aus dem Liste kann ich im PropertyGrid die Eigenschaft aufklappen die einzelne Strings bearbeiten und ich bekomme sie per Set Methode wieder übermittelt.

Bei der Property die auf das Feld verweißt kann ich die Strings auch bearbeiten aber hier werden sie direkt per Referenz in das Array geschreiben und nicht über die Set Methode zurückgeliefert.

Wenn ich das Feld in eine Liste packe und mit ToArray zurückgebe funktioniert es wieder mit der Set Methode.

Wieso macht das PrropertyGrid da eine Unterscheidung? Es müsste sich doch beide male um eine Referenz auf ein String Array handeln ?

Kann man das irgendwie abstellen bzw gibt es eine bessere Lösung als das Feld erst in eine Liste zu packen?

MfG
SkySurfer

04.08.2008 - 12:07 Uhr

Ja es sind mehrere Werte bei der Eingabe handelt es sich aber um eine Art Fließtext eine Eingabe über ListBox o.Ä. wäre hier sehr umständlich für den Benutzer.

04.08.2008 - 10:22 Uhr

Hi,

ich habe eine Textbox zur Eingabe von Werten. Nun möchte ich gern, wenn man mit der maus über einem Wert ist einen ToolTip zu diesem Wert anzeigen.

Bis jetzt hab ich dies unter Verwendung der GetCharIndexFromPosition und dem MouseMove Event versucht zu realisieren. Das Problem dabei ist jedoch wenn man mit dem Mauszeiger nicht exakt vor einem Zeichen ist bekommt man immer die Position 0 zurück geliefert. Gleich verhält es sich wenn man mit dem Mauszeiger irgendwo unterhalb des Textes auf der TextBox steht. Dann bekommt man auch Position 0.

Gibt es hier etwas was besser funktioniert?

Gruß SkySurfer

24.07.2008 - 14:40 Uhr

Hi,

ich hab einen Namespace PorjektX.Converter in dem ich alle möglichen Klassen zum konvertieren habe. Alle verwenden das gleiche Interface. Um das ganze einfacher zu machen hab ich überlegt eine Klasse Converter ebenfalls mit dem interface zu erzeugen, die für die übergebenen daten den richtigen Converterauswählt anwendet und die konvertierten Daten zurück gibt.

Um das ganze nicht für jeden neuen Konverter der dazu kommt ändern zu müssen wäre es schön ein Array zu haben über das man mit foreach oder ähnlichem über die Konverter iterieren kann.

Gibt es mit Reflections eine Möglichkeit alle Klassen in einen Namespace in ein Array zu packen? Bis jetzt habe ich leider noch nichts dazu gefunden.

MfG SkySurfer

22.06.2008 - 15:15 Uhr

Hi,

ich versuche die Einstellungen eines Controls in einen Properties.Settings. String zu schreiben dieser sieht auch ganz gut aus jedoch beim einlesen beim start der anwendung wird der string wohl nicht vollständig zurückgeschrieben.

hier der code:



       private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            MemoryStream ms = new MemoryStream(10);
            dockPanel1.SaveAsXml(ms, Encoding.UTF8, true);
            ms.Seek(0, SeekOrigin.Begin);
            StreamReader sr = new StreamReader(ms, Encoding.UTF8);
            string value = sr.ReadToEnd();
            Properties.Settings.Default.DockPanel = value;
            Properties.Settings.Default.Save();
        }

hier hat value eine länge von 1801
ms hat eine länge von 1804



        private void MainForm_Load(object sender, EventArgs e)
        {
            if (Properties.Settings.Default.DockPanel != string.Empty)
            {
                MemoryStream ms = new MemoryStream();
                StreamWriter sw = new StreamWriter(ms, Encoding.UTF8);
                string value = Properties.Settings.Default.DockPanel;
                sw.Write(value);
                ms.Seek(0, SeekOrigin.Begin);
                dockPanel1.LoadFromXml(ms, deserializeDockContent);
            }
        }

hier hat value eine länge von 1801
ms hat eine länge von 1027

was zur folge hat das LoadFromXml meldet, das einige xml tags nicht geschlossen sind.

wo bleiben die 777 bytes ? hat jemand ne idee ?

mfg SkySurfer

03.06.2008 - 23:11 Uhr

Das Problem ist ja nur das die DLL die diese Warnings verursacht nicht von mir kommt. Deshalb ist rauswerfen schwierig.

03.06.2008 - 16:58 Uhr

Hi,

ich hab ein UserControl mit überschriebener OnDraw Methode geschrieben.
Das UserControl stellt als Property eine Objekt von einer Klasse bereit, in der Daten für das UserControl gespeichert sind.

Das Property Objekt wird im Konstruktor noch vor der InitializeComponent() Methode mit Daten gefüllt.

In der OnDraw Methode greife ich auf das private Objekt der Property zu um die Daten zeichnen zu lassen. Jedoch enthält das private Objekt auf das OnDraw zugreift nur die Standardinitialisierung, jedoch nicht die Daten die im Konstruktor gesetzt wurden.

Erst wenn man die Daten in OnDraw nochmal setzt sind sie auch für OnDraw verfügbar.
Was ja aber nicht Sinn der Sache sein kann.

Es scheint als hätte OnDraw eine eigene Version von dem Proprtyobjekt.

Woran kann das liegen?

MfG SkySurfer

03.06.2008 - 10:30 Uhr

Hi,

Variante 1 kann man verwenden wenn man nur ein DataGridView hat.

Hat man jedoch mehrere DataGridViews die im Prinzip das selbe tun sollen, ist ganz klar Variante 2 der Vorzug zugeben, da man hier nicht für jedes DataGridView das Event ausimplementieren muss sonder immer das gleiche verwenden kann.

MfG
SkySurfer

03.06.2008 - 10:02 Uhr

Hi,

in meiner Anwendung verwende ich DLLs einer Anwendung einer anderen Firma.
Von dieser Anwendung gab es nun ein Update und seit dem bekomme ich beim kompilieren einige Warnungen in der Form :

Die Schnittstelle XY ist als [dual] gekennzeichnet, wird aber nicht von IDispatch abgeleitet. Sie wird als eine von IUnknown abgeleitete Schnittstelle konvertiert.

Die Anwendung lässt ich zwar kompilieren und starten jedoch treten seit dem Fehler auf wie z.B :

Die angegebene Umwandlung ist ungültig

oder

Ein Aufrufziel hat einen Ausnahmefehler verursacht.

und im CallStack der Exceptions sieht man das immer Funktionen der DLL beteiligt sind.

Gibt es hier eine Lösung auf meiner Seite oder ist das ein "Bug" in der DLL ?

MfG
SkySurfer

01.06.2008 - 15:20 Uhr

Beschreibung:

Diese Collection ist nie Leer, dies kann sehr hilfreich sein wenn eine Collection die in einem Propertygrid angezeigt werden sollen, auch im Code geändert werden kann. Dies spart die Pürfung im Code und die Implementation eines eigenen UITypeEditors.

Hoffe es hilfe dem ein oder anderen.

MfG
SkySurfer


public class AtLeastOneItemCollection: Collection<ItemClass>
    {
        bool cleared = false;
        public AtLeastOneItemCollection(ItemClass item)
        {
            this.Items.Add(item);
        }

        protected override void InsertItem(int index, ItemClass item)
        {
            if (cleared)
            {
                Items.RemoveAt(0);
                cleared = false;
                index--;
            }
            base.InsertItem(index, item);
        }

        protected override void RemoveItem(int index)
        {

            if(Items.Count > 1)
                base.RemoveItem(index);
        }

        protected override void ClearItems()
        {
            base.ClearItems();
            Items.Add(new ItemClass());
            cleared = true;
        }
    }

Schlagwörter: Collection, Propertygrid Collection, AtLeastOneItemCollection

01.06.2008 - 13:32 Uhr

Habe eine Collection LEDColors in der LEDColor mit Farbe und Interval gespeichert ist.
Da die LED mindestens eine Frabe haben muss darf die Collection eben nicht leer sein.

Da man die Collection aber sowohl über das Propertygrid als auch im Code setzen kann ist es warscheinlich besser dies über die Collection zu regeln. Oder hab ich da eine Möglichkeit übersehen?

MfG
SkySurfer

01.06.2008 - 11:20 Uhr

Hi,

ich hab ein Collection in meiner Komponente, die im PropertyGrid zur DesignTime angezeigt wird um Einstellungen an der Komponente vor zugeben.
Ich möchte nun aber verhindern, dass die Collection leer sein kann.
Der Attribute Editor vom PropertyGrid macht jedoch immer erst am Ende ein Clear und dannach evtl. noch entsprechende Adds, so das man nicht in der Remove Methode festlegen kann, dass der letzte Eintrag nicht gelöscht werden kann.

Gibt es hier ein andere Möglichkeit?

MfG
SkySurfer

20.05.2008 - 14:50 Uhr

Hi,

ich hab eine Anwedung mit mehreren Komponenten die asynchron arbeiten.
Solange eine oder mehrere der Komponenten arbeiten soll der Mauszeiger der ganzen Anwendung die Sanduhr anzeigen.

Bis jetzt habe ich es mit Application.UseWaitCursor versucht habe jedoch das Problem, das die Operationen der Komponenten unterschiedlich lange sind, so setzt die erste Komponente die Fertig ist die Sanduhr wieder zurück, auch wenn die anderen noch nicht fertig sind.

Gibt es auch noch andere Möglichkeiten den Cursor für die ganze Application zu ändern?

MfG
SkySurfer

20.05.2008 - 14:02 Uhr

Danke so funktionierts.

20.05.2008 - 13:40 Uhr

Das Problem ist vermutlich, dass ich noch im Konstruktor des MainForms bin.

Wenn ich hier aber nur ein return mache bekomme ich das Form trotzdem angezeigt.

20.05.2008 - 11:40 Uhr

Hi,

ich habe eine Anwendung diese startet einen Thread zur Kommunikation. Wenn der Verbindungsaufbau in diesem Thread fehlschlegt feuert dieser ein Event. Das Event wird in der Anwendung empfangen und mittels Invoke in den GUI Thread gebracht.

Nun soll eine Meldung ausgegeben und dann die Anwendung beendet werden.
Die Meldung kommt, jedoch Application.Exit() zeigt keine Wirkung. Der GUI Thread läuft danach einfach weiter.

Wie kann ich die dazu bringen sich zu Beenden?

Mfg SkySurfer

18.05.2008 - 23:27 Uhr

Ja diesen Weg kenne ich .. er erzeugt meines wissens nach aus Java C und dann Maschinencode.. hat aber 2 Nachteile ist schlecht zu debuggen und laut verschiednen Tests um den Faktor 4 - 70 langsamer als ein sauberer C Code.

Also wenn es performant und gut debugbar sein soll ist davon abzuraten.

18.05.2008 - 23:02 Uhr

Ich hab mich auch schon mal etwas mit dem Thema befasst ... ich weiß jetzt nicht für welche Hardware du den Kernel implementieren willst .. aber für kommerzielle Zwecke ist es meiner Meinung nach einfacher ihn in C++ zu schreiben. Man hat zwar die Speicherverwaltung zu beachten aber ist dafür auch näher an der Hardware als in C#.

Habe neulich über einen Prozessor gelesen der ähnlich wie die javafähigen ARM Prozessoren nativ mit .NET arbeitet. Hier wäre ein Kernel in C# erste Wahl .. aber das nur am Rande 😉

17.05.2008 - 20:12 Uhr

Hi,

ich suche nach einer Möglichkeit die Audioausgaben von einer ausgewählten Anwendung "mitzuhören" um sie dann aufzeichnen/ übertragen zu können. Leider habe ich grade überhaupt kein Ansatzpunkt wie ich an audio informationen kommen könnte.
Ich bin für jeden Tip dankbar.

Gruß
SkySurfer

25.03.2008 - 12:15 Uhr

Hi,

ich hab eine Klasse die selbst keine GUI Klasse ist (also nicht von Form, Control, etc abgeleitet).

Sie liefert mir aber für verschiedene Anfragen verschidene Bilder zurück.
Dies Bilder würde ich gern der Einfachheit halber in eine ImageList speichern um über die Bilder Iterieren zu können usw.

Stehe nun vor der Frage wo ich die Bildresourcen hinpacke:

Änhlich wie es der GUI Assistent macht eine Resourcedatei erzeugen und dort einen ImageListStream ablegen.

Oder die Bilder einbetten und der Imagelist im Konstruktor der Klasse einzeln zuweisen.

Was ist eurer Meinung nach die bessere Methode?

Gruß SkySurfer