Laden...

Forenbeiträge von Neidhard Ingesamt 135 Beiträge

11.07.2011 - 15:11 Uhr

Im Prinzip schon. Man kann explizit einstellen was obfuscatet werden soll und was nicht.
Public-Elemente werden standardmäßig nicht geändert.
Normal sollte deine DynLib immernoch funktionieren solange das Interface unverändert bleibt.

07.07.2011 - 06:46 Uhr

Ich benutze für diese Fälle immer Hashtables.
Hier kannst Du dem Objekt einen Bezeichner (Key) geben mit dem Du das Label dann auch einfach findest.

06.07.2011 - 12:37 Uhr

Der Abfragedesigner ist Bestandteil von VisualStudio.
Er erstellt dir alles Nötige um Daten von einer Datenbank abzurufen oder zu manipulieren.
Dabei musst Du die SQL-Anweisung nicht da erstellen, wenn Du sie bereits hast kopierst Du sie einfach in das entsprächende Feld.
Der Designer erstellt Dir eine fertige Funktion zum Abruf der gewünschten Daten, die Dir dann z.b. in einem DataTable zurück gegeben werden. Der Funktion kannst Du auch Parameter hinzufügen, um z.B. unterschiedliche Bedingungen zu definieren.
Ich finde den super, er erleichtert einem die Arbeit ungemein.

06.07.2011 - 12:17 Uhr

So ein ähnliches Problem hatte ich auch mal. Hab die Animation dann per Code erstellt und ablaufen lassen.

06.07.2011 - 12:11 Uhr

Hi,
also dein SQL-Data-Reader, sagts schon selber, ist nur zum lesen da.

Keine Ahnung wie verschachtelt deine SQL-Abfrage ist, aber der Abfragedesigner erstellt bei normalen Abfragen gleichzeitig eine Update-Funktion.
Vielleicht hilft Dir das weiter

24.06.2011 - 21:34 Uhr

Ich hab das ganze jetzt anders gemacht.
Die Linien zeichne ich nun per drawingContext.DrawLine.


DrawingVisual drawingVisual = new DrawingVisual();
                DrawingContext drawingContext = drawingVisual.RenderOpen();
                for (int l = 0; l < Linien.Count; l++)
                {
                    Pen pen = new Pen(new SolidColorBrush(Linien[l].LinienFarbe), 1);
                    for (int p = 1; p < Linien[l].Punkte.Count - 1; p++)
                    {
                        drawingContext.DrawLine(pen, Linien[l].Punkte[p], Linien[l].Punkte[p + 1]);
                    }
                }
                drawingContext.Close();
                RenderTargetBitmap bmp = new RenderTargetBitmap((int)gridLinien.ActualWidth, (int)gridLinien.ActualHeight, 96, 96, PixelFormats.Pbgra32);
                bmp.Render(drawingVisual);
                gridLinien.Background = new ImageBrush(bmp);

Da das Ganze nun als Grafik angezeigt wird gibts keine Probleme mehr beim verschieben.

24.06.2011 - 20:59 Uhr

Den VisualBrush hab ich nun getestet. da kommt aber völliger Quatsch raus.
Hier erst mal meine VisualBrush-Einbingung:


            <Grid Grid.Column="1" Margin="0,0,0,0">
                <Grid.Background>
                    <VisualBrush >
                        <VisualBrush.Visual>
                            <Grid x:Name="gridLinien" Margin="0,0,0,0"/>
                        </VisualBrush.Visual>
                    </VisualBrush>
                </Grid.Background>
            </Grid>

Statt der eigentlichen Darstellung der Paths kommt das im Anhang zu sehende Ergebnis raus.

24.06.2011 - 16:45 Uhr

Hallo,
ich erstelle per Code 25 Paths mit jeweils um die 300Punkten.
Die Paths stellen Linien durch Stroke dar und sind nicht geschlossen.
Das ist ja eigentlich nicht viel, aber schlägt sich irgendwie ungemein auf die Anzeigeperformance nieder. Scrollen ist damit eine Qual.
Freezen kann ich ausser den Datenpunkten und dem Stroke nichts, und bei den 2 Sachen bringt das auch nichts.
Ich hab auch schon versucht über RenderTargetBitmap ein Bild zu erstellen, aber von dem ganzen usercontroll, welches die Paths darstellt, ist nur das drumherum zu sehen. Nicht aber die Paths selber. grrrr

Hat zufällig jemand eine Lösung und Ratschläge zur Vergesserung der Anzeigegeschwindigkeit?

23.06.2011 - 09:10 Uhr

mmm Liegt wohl an der fehlenden Füllung.
Kann geschlossen werden 😃

23.06.2011 - 08:48 Uhr

Hallo,
ich habe folgendes Problem.
In einem UserControl erstelle ich mehrere Rectangles denen ich die nötigen Einstellungen und ein MouseOver-Ereignis hinzufüge.


Saeulen[c, r] = new Rectangle();
                    Saeulen[c, r].HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
                    Saeulen[c, r].VerticalAlignment = System.Windows.VerticalAlignment.Stretch;
                    Saeulen[c, r].MouseMove += new MouseEventHandler(Saeulenwahl_MouseMove);
                    Raster.Children.Add(Saeulen[c, r]);

Das MouseMove wird aber leider nicht aufgerifen wenn die Maus über das Rechteck fährt.

Wenn ich das Ereignis einem TestRectangle, welches direkt in der Xaml definiert ist, zuweise funktioniert das ohne Probleme.
Wo liegt das Problem. Es sollte doch ohne Probleme funktionieren.

31.05.2011 - 15:12 Uhr

Danke für die prompte Hilfe. 😄

31.05.2011 - 07:47 Uhr

Hallo miteinander,
ich erstelle mir gelegentlich mit UserControl neue Controls.
Das ist auch kein Problem. Da aber von Außerhalb auf die einzelnen Controls im UserControl zugegriffen werden kann, aber nicht soll, möchte ich die enthaltenen Controls als private markieren.
Irgendwie finde ich aber keine Eigenschaft um das zu ändern, bei WindowsForms gabs sowas.
Welche möglichkeiten bietet mir WPF in dieser Beziehung?

20.05.2011 - 16:03 Uhr

Mach ich nun auch.
Dachte erst das es evtl. möglich wäre eine entsprächende SQL-Anweisung zu schreiben.

20.05.2011 - 15:42 Uhr

@gfoidl: Danke für die Hinweise. Werde das Ganze mit String.Split umsetzen.

@fluxy: Was soll ich dazu sagen... Ist nicht meine Datenbank sondern ich schreibe nur eine Anwendung die die Daten auswerten soll. Hab auch keine Rechte um auf dem Server Funktionen zu erstellen.

20.05.2011 - 14:57 Uhr

Ja der Wert steht so in einer einzelnen Spalte. Es kommt aber auch vor das es nur 2 "substrings" sind.

20.05.2011 - 14:33 Uhr

verwendetes Datenbanksystem: <MS SQL 2008 R2>
Ich habe mir eine SQL-Abfrage zusammengebaut die mir unter anderem einen Spalteninhalt zurückgibt der wie folgt aussieht: "3A00112.11,3A00121.22,3A00011.53"

Wie Ihr seht sind in dieser Spalte 3 Werte enthalten und jeweilsdurch ein Komma getrennt.
Mit diesen 3 Werten muss ich nun aber weiterarbeiten und meine SQL-Abfrage erweitern.
Ich muss jedem der 3 Werte eine neue Spalte mit zugehörigem Datum in der Tabelle hinzufügen.

Worum es mir geht: Wie kann ich die SQL-Anweisung so bauen das sie die 3 Werte einzeln auswertet.
Ich hab versucht die Spalte mit der Tabelle zu verknüpfen, da bekomme ich aber nur das Datum des ersten Wertes zurück und die anderen 2 Werte stehen auch nicht mehr in der ersten Spalte.

Cu
Neidhard

26.04.2011 - 23:51 Uhr

Hallo zusammen,

ich schreibe gerade an einer Anwendung die zur Laufzeit mehrere Assemblys nachlädt.
In den Assemblys habe ich eine Funktion die mir ein BitmapImage zurück gibt.


public BitmapImage DesktopIcon()
{
    BitmapImage icon = new BitmapImage();
    icon.BeginInit();
    icon.UriSource = new Uri("pack://application:,,,/BeispielAssembly;component/Images/Icon.png");
    icon.EndInit();
    return icon;
}

Das funktioniert auch wunderbar auf dem lokalen Rechner.
Sobald die Anwendung mit den Assemblys aber im Netzwerk liegt wird bei "icon.EndInit();" eine SecurityException verursacht.

Das gleiche passiert auch wenn ein in der Assembly defeniertes Fenster auf ein Image zugreifen will.
Nach dem Ausklammern der Image-Funktionen startete die Anwendung mit allen Assemblys auch im Netzwerk fehlerfrei. Funktionen und Controls in den Assemblys sind dann uneingeschränkt nutzbar.

Mir stellt sich nun die Frage wieso ich im Netzwerk nicht auf eingebettete Resourcen zugreifen kann.
Hat einer von Euch einen Ratschlag oder Tip?

Cu
Neidhard

07.10.2010 - 15:40 Uhr

Hallo,
also erst mal die Grundinfos.
Ich habe ein Programm geschrieben (in .NET 2.0) welches 3 ListViews enthält die mit dem Inhalt einer XML gefüllt werden.
Das Programm und die XML liegen im Intranet meiner Firma.
Wenn das Programm an den PC's gestartet wird kommt erst die Meldung das das Programm von einem unbekannten Herausgeber stammt und ob es wirklich ausgeführt werden soll. Danach wird es ohne Probleme ausgeführt. Das ist an etwa 10 Rechnern so.
Es gibt aber auch 2 PC's die sich, für mich, völlig untypisch verhalten.
Beim versuch das Programm zu starten kommt schon nicht die Abfrage ob das Programm vom unbekannten Herausgeber gestartet werden soll. Es pasiert einfach garnichts, keine Fehlermedung oder sonstwas.
Im Taskmanager sieht es so aus als würde es kurz geladen werden aber verschwindet sofort wieder.

Ich bin Ratlos, .NET ist bis einschließlich 3.5 installiert und es werden keine Fremdassemblys benötigt.

Hat jemand eine Ahnung woran das liegen könnte?

MfG
Neidhard

12.03.2010 - 09:39 Uhr

Guten Morgen,
ich möchte das Bild mit Alphakanal aus einem BitmapSource über ein anderes Bild, welches sich ebenfalls in einem BitmapSouce befindet, legen.
Ich finde keine Funktion die mir diese Aufgabe erledigt.
Eine Suche mit Google und hier im Forum brachte auch keine verwertbaren Informationen.

Hat MS solche simplen Grafikfunktionen weggelassen, oder suche ich nach den falschen Begriffen?

Cu
Neid

26.01.2010 - 17:29 Uhr

Danke, das mit dem Flush'n und Schließen hat alles nichts gebracht. ich hab nun die GZip-Klasse genommen.

25.01.2010 - 10:32 Uhr

Hallo,
irgendwie stehe ich auf dem Schlauch und frage mich woran es nur liegen kann das ich mit DeflateStream beim entpacken keine Daten zurück erhalte.
Dazu habe ich eine Test-Procedure geschrieben.


private void CompressionTest()
        {
            string s = "MyCSharp.de";
            MemoryStream comp = new MemoryStream();
            DeflateStream tmp1 = new DeflateStream(comp, CompressionMode.Compress);  
            byte[] ds1 = StringToByteArray(s) ;
            s = "";
            tmp1.Write(ds1, 0, ds1.Length);
            comp.Position = 0;
            DeflateStream tmp2 = new DeflateStream(comp, CompressionMode.Decompress);
            byte[] ds2 = new byte[ds1.Length];
            tmp2.Read(ds2, 0, ds2.Length);
            s = ByteArrayToString(ds2);
        }

Die Kompression funktioniert, soweit ich das beurteilen kann. Aber beim Entpacken und lesen aus tmp2 in das ByteArray ds2 werden keine Daten übergeben. 🤔

Hat jemand eine Ahnung woran das liegt?

30.07.2009 - 15:10 Uhr

Hallo, ich möchte in meinem Programm auf einzelne Pixel in einem BitmapImage zugreifen und diese verändern. Ich habe nun schon etwas gesucht aber leider keine derartige Funktion gefunden. Ist es in WPF nicht möglich auf einzelen Pixel zuzugreifen?

17.07.2009 - 05:47 Uhr

OK, also es geht darum eine tonnen- oder kissenförmige Verzerrung zu beheben.
Mir ist aber nicht klar wie ich aus der, bei Wikipedia angegebenen, Formel ein Bild bzw. ein einzelnen Punkt korregieren kann. Wie bring ich die Formel so in Form das sie mit C# funktioniert?
Ich wollte die Funktion so schreiben:


 public bitmap Korrektur(bitmap bmp, int Entzerrungsstaerke)
 {
   .
   . // hier soll das Bild korregiert werden
   .
 }

16.07.2009 - 22:16 Uhr

Hallo,
ich möchte in meinem Programm eine Objektivverzerrungskorrektur einbauen.
Habe dazu auch eine Grundinfo gefunden, nur hab ich keine Ahnung wie ich das so zusammen bauen kann das aus dem übergebenen BITMAP die korregierte Version herrauskommt.
Wie kann ich die Funktion so bauen das es funktioniert?
Die Grundinfo gibts in Entzerrung (Fotografie).

12.07.2009 - 07:13 Uhr

Ich habe nun mit


IntPtr codeBytesPtr;
codeBytesPtr = VirtualAllocEx(P.Handle, 0x12275B78, 8, AllocationType.COMMIT, MemoryProtection.EXECUTE_READWRITE);

den Speicher auf READWRITE gesetzt. Fehlermeldung gab es dabei keine.
Nur das MOV bringt weiterhin seine Access violation. Ist er Aufruf evtl. nicht korrekt?
Im Grunde muß ich auch nicht unbedingt im Speicher rumschreiben. Ich brauche nur unbedingt den ECX-Wert der an einer bestimmten Programmstelle enthalten ist.

Zoomi, Du scheinst da recht viel Ahnung zu haben. Wie kann ich mein C#-Programm zum Debugger machen und einen Breakpoint an der Programmstelle(Speicherstelle) setzen so dass das Programm angehalten wird und ich den ECX-Wert mit GetThreadContext auslesen kann?

11.07.2009 - 16:46 Uhr

Normal sollte es doch irgendwie gehn. Die C#-Anwendung kann in dem Speicherbereich ohne Probleme lesen und schreiben (WriteProcessMemory & ReadProcessMemory).

11.07.2009 - 12:01 Uhr

Hallo,
vielleicht kann mir ja hier jemand weiterhelfen.
Ich schreibe gerade ein mini-Programm in ASM, so weit so gut 😉
ich möchte nun mit folgendem Code den Wert von ECX in die angegebene Speicherstelle schreiben.


MOV DWORD PTR DS:[12275B78],ECX

Die Speicherstelle liegt in ungenutztem Bereich der Anwendung. Leider bekomme ich beim Ausführen die Fehlermeldung "Access violation while write to 12275B78".
Wenn ich die Speicherstelle auf den "normalen" Speicherbereich verweise gehts ohne Probleme, dieser ändert sich aber bei jedem Programmstart.
Da ich von einer anderen Anwendung (geschrieben in C#) auf den ECX-Wert zugreifen muß will ich diesen nun an einem "festen" Speicherort ablegen.

Hat jemand eine Ahnung wie ich Das Problem lösen kann?

Bis denne
Neidhard

10.04.2009 - 10:54 Uhr

Hallo,
Ich suche jetzt schon seit einer Stunde nach einer Möglichkeit einem Text im TextBlock mit farbigen rand aus zu statten.
Mir Scheint das ist hier garnicht möglich.
Hat denn einer von Euch eine Idee wie das geht?
Sonst muß ich das alles mit Images machen.

Gruß
Neidhard

05.02.2007 - 14:07 Uhr

Ja klar kenne ich die zu ladenede Assembly, stammt ja auch von mir 😉

Danke erst mal für Eure Tip's. Habe das Problem nun aber, für mich am einfachsten, gelöst.
Dazu habe ich eine weitere Assembly erstellt in der die Struktur enthalten ist und als Verweis im Projekt der Assembly und dem Hauptprogramm eingebunden (incl. Using).
Damit kann ich von beiden Projekten auf die Struktur zugreifen und nutzen.

Cu
Neid

04.02.2007 - 18:39 Uhr

Hi,
ich sitze nun schon den ganzen Tag an diesem Problem.
Ich möchte in meiner Anwendung eine Struktur aus einer dynamisch geladenen Assembly verwenden. Diese benötige ich für den Aufruf einer Methode als Parameter.
Die Struktur sieht in etwa so aus


        public struct Daten
        {
            public A a;
            public B[] b;
            public string c;
            public System.Drawing.Image d;
            public string e;
        }
        
        public struct A
        {
            public string aa;
            public string ab;
            public string ac;
            public string ad;
        }
        
        public struct B
        {
            public int ba;
            public int bb;
            public int bc;
            public int bd;
            public int be;
        }

Die Assembly und Klasse mit Struktur habe ich schon geladen und instanzieren können.
Habe mir im Hauptprogramm die gleiche Struktur aufgebaut und alles versucht um die Struktur vom Programm in die der Assembly zu konvertieren. Aber ohne Erfolg.
Die Forumsuche hat mir da auch nicht geholfen, überall wird nur gezeigt wie man eine Assembly dynamisch läd und einen Funktionsaufruf mit Standard-Parametern durchführt. Nirgends habe ich etwas von selbsterstellten und importierten Strukturen gefunden.
Hat einer Rat?

Cu
Neid

25.01.2007 - 19:39 Uhr

Wie läuft es denn so bei euch?

04.12.2006 - 20:13 Uhr

Hallo,
habe selber kein .NET 3 SDK installieren können. Aber eine Frage, was für Änderungen gibt es im Bereich Klassen- und Control-Entwicklung?

Gruß
Neid

29.07.2006 - 14:27 Uhr

Habe nun das selbe Problem wie Hammala.
Obige Links haben mir dabei nicht geholfen. Hat jemande einen konkreten Hinweis oder Tip?

06.06.2006 - 06:49 Uhr

HI,
in FS.Load liegts nicht, beim Debugen kann ich sehen das das PNG im Stream enthalten ist.
Dann liegt es vielleicht daran

 
storeStream.SetLength(inStream.Length);
inStream.Read(storeStream.GetBuffer(), 0, (int)inStream.Length);

Denn das habe ich nicht in meinem Code

04.06.2006 - 21:23 Uhr

Hallo,
ich versuche mich seit einigen Tagen in D3D ein zu arbeiten.
Habe mir auch schon ein kleines Testprogramm zurecht geschrieben, welches funktioniert. In diesem Testprogram lade ich Texturen über die Funktion TextureLoader.FromFile. Nun wollte ich diese Funktion durch TextureLoader.FromStream ersetzen aber beim Ausführen gibt es eine DX-Exeption die sagt das irgend etwas nicht stimmt.


.
.
.
         MemoryStream MS = new MemoryStream(); //erstellt MemoryStream
         MS = FS.LoadFile("hintergrund.png");           //lädt Textur in den Stream, das funktioniert
         int I = Convert.ToInt32(MS.Length);            //wandelt Long in Int32, habe ich in eine extra zeile geschrieben um den Fehler ein zu kreisen
         Texture hintergrund = TextureLoader.FromStream(DX.directXDevice, MS, I); // soll die Textur aus dem Stream lesen, hier gibt's die Exeption ("D3DXERR_INVALIDDATA")
.
.
.

Ich habe keine Ahnung wo das Problem liegen kann und hoffe hier kann mir jemand weiter helfen.

Cu
Neidhard