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 MarsStein
Thema: Directory auf ReadOnly prüfen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hast Du mal mit Dirctory.GetAccessControl() versucht?

Thema: Directory auf ReadOnly prüfen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

So etwas sollte eigentlich jedes mal überprüft werden, wenn in das Directory geschrieben wird, die Berechtigungen können sich ja auch ändern. Dann erübrigt sich ggf. die erste Prüfung.

Thema: System icons auslesen
Am im Forum: GUI: Windows-Forms

Guck mal hier:
http://www.virtualplastic.net/html/icn_reg.html

Thema: System icons auslesen
Am im Forum: GUI: Windows-Forms

Und über die Registry lässt sich auslesen, welches Icons für welchen Zweck verwendet werden, falls der Benutzer was umgestellt hat (wenn das überhaupt für Dich relevant ist)

Thema: MouseHover funzt nicht
Am im Forum: GUI: Windows-Forms

Der Handler bekommt die falschen Argumente. Es handelt sich um einen einfachen System.EventHandler, der einfache System.EventArgs haben wil, keine MouseEventArgs.


void FormOnMouseHover(object sender, EventArgs e)

Thema: Auf einem externen IIS debuggen
Am im Forum: Web-Technologien

Dann hast Du vermutlich noch ein Berechtigungsproblem.
Im Menü des RemoteDebug Monitor: Tools->Permissions:
Hier muss der Benutzer eingetragen werden, der auf dem Client das VisualStudio startet.
Außerdem darf natürlich keine Firewall den Datenverkehr blockieren (ich weiß aber jetzt grad den Port nicht)

Thema: Directory auf ReadOnly prüfen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Versuch mal mit "try ... catch"


try
{
  // versuchen, Datei anzulegen
}
catch(UnauthorizedAccessException e)
{
  // Zugriff verweigert. 
}


Zu spät...

Thema: Reflection Problem
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

was für Objekte stahen denn in Deiner DataList ?
Einen RuntimeType erhälst Du z.B. wenn du GetType() auf einem Objekt rufst, welches selber ein Type ist.
Wenn also bei "obj.GetType" obj selbst ein Type ist, ist der Effekt klar....

Thema: Javascript aufrufen
Am im Forum: Web-Technologien

Hallo,
du kannst auch ein Javascript an den Client schicken, bzw. eines vom Server anfordern und ausführen, ohne die Seite neu zu laden.
Eine gute Möglichkeit bietet eine Technologie namens AJAX (asynchrones Javascript und XML).

Bei Google findest Du bereits fertige .NET-Bibliotheken für Ajax, die kannst Du einfach einbinden und benutzen.

Thema: Threading: Exception bei Verlassen des Prog
Am im Forum: GUI: Windows-Forms

Diese Exception heißt in der Tat genau so: ThreadAbortException :-)

Thema: Graphics-Object to Image
Am im Forum: Grafik und Sound

Ich denke daß das Problem irgendwo im Event-Handling liegt. Aber wenn Du kein Invalidate() rufen mußt, wird auch kein Paint-Event verschickt. Die OnPaoint-Methode wird in meinem Beispiel überhaupt nur ausgeführt, wenn Resized wird (obwohl ich mir das da auch noch sparen könnte) oder wenn das Fenster irgendwie von extern den Befehl zum neuzeichnen erhält. Daher gibts dann auch keine Probleme.

Es ist einige Zeit herddaß ich das geschrieben habe, aber ich weiß auch daß ich einen Grund dafür hatte, dasPaint-Event zu unterlaufen, obwohl es mir eher darum ging, flimmern bei schnell aufeinanderfolgenden Updates (Sternkarte die man ziehen kann) zu verhindern.

Thema: Graphics-Object to Image
Am im Forum: Grafik und Sound

seltsam so sollte es eigentlich klappen... Ich habe allerdings ein bisschen mit deinem code experimentiert und ganz seltsame effekte erzeugt... Vielleicht solltest Du es mal so probieren, wie ich es zuerst beschrieben habe, das klappt bei mir einwandfrei.

Du musst lediglich die for-Schleife an die entsprechend kommentierte Stelle setzen, und wo Du bisher Invalidate() gerufen hast, Draw() aufrufen.

Thema: Graphics-Object to Image
Am im Forum: Grafik und Sound

Probiers mal so:


protected override void OnPaint(PaintEventArgs e)
{
    if (toDraw)
    {  
         toDraw = false;
         buffer = new Bitmap(this.Width, this.Height);
         g = Graphics.FromImage(buffer);
         foreach (KeyValuePair<int, IDrawerObject> satellites in satellitesDict)
         {
             satellites.Value.Paint(g);
         }
     }
     e.Graphics.DrawImage(buffer, e.ClipRectangle, e.ClipRectangle,                       GraphicsUnit.Pixel);
}

Thema: Graphics-Object to Image
Am im Forum: Grafik und Sound

Auch sehr schön.
Bei mir implementiert das Fenster übrigens auch ein Drawerinterface :-) und das wird dann an ein Objekt übergeben, in dem wieder mehrere Unterobjekte in gewünschter Reihenfolge zeichnen mit den Interface-Methoden zeichnen, nur bei mir sind diese Interfacemethoden dann Member der Form und ich kann direkt auf g zugreifen. Ein etwas anderer Ansatz für genau das gleiche Problem :-)
Funktioniert der Code jetzt übrigens??

Thema: Einführung in OOP
Am im Forum: Rund um die Programmierung

Meiner Ansicht nach geht es bei der OOP haupsächlich um die Abstraktion.
Basisobjekte sollten immer einen möglichst abstrakten Charakter haben, um Sie vielseitig nutzen zu können. Wenn Du die Realität in Objekte packen mußt, vergleiche die Gemeinsamkeiten der Objekte und richte Deine Klassen und Interfaces danach.

Oje, klingt das jetzt philosophisch... war gar nicht so gemeint.

Thema: Daten von Kosolenapp an Website
Am im Forum: Web-Technologien

Naja dafür ist der Webservice komfortabel und leicht erweiterbar und die Typen stimmen schon wenns ankommt und so.

Thema: Daten von Kosolenapp an Website
Am im Forum: Web-Technologien

Ein asmx-Webservice mit einer Webmethod für das annehmen der Daten
Auf der Serverseite:

[WebMethod]
void NewData(Typ1 param1, Typ2 param2, usw...)
{
  // Daten verarbeiten
}
Dann auf der Clientseite (im Konsolenprogramm) über WSDL Proxy generieren lassen (Webverweis im VisualStudio) und einfach aufrufen.

Thema: Graphics-Object to Image
Am im Forum: Grafik und Sound

wer ist myCanvas und was passiert in sattelites.Value.Paint ?

wichtig ist: die OnPaint-Methode benutzt zum Zeichnen das Graphics-Objekt, welches in den EventArgs übergeben wird, du musst aber auf das Graphics-Objekt g zeichnen.
Deshalb muss g an denen Stellen verfügbar sein, an denen tatsächlich gezeichnet wird, sprich z.B. Aufrufe von DrawLine(...) oder DrawString(...) gemacht werden.
Diese Aufrufe müssen auf dem Objekt g ausgeführt werden, nicht auf den an OnPaint übergebenen Objekt!

Mit Deiner Version unterläufst Du das Konzept, weil sattelites.Value.Paint mit Sicherheit mit den falschen Graphics zeichnet.

Thema: Datenbank attachen. Wie?
Am im Forum: Datentechnologien

Du kannst eineVerbindung zum SQL-Server herstellen vom Setup aus und dann die stored Procedure "sp_attach_db" nutzen.

Thema: ASP.NET (1.1) Membervariablen verlieren Werte
Am im Forum: Web-Technologien

Hallo,
Schau dir mal Sessions an. (HttpSessionState & co.).
Deine Pagehat einen Member namens Session, der ist für sowas gedacht.



DataTable meineDataTable;

Page_Load()
{
  if(Session["meineDaten"]=null)
  {
    // Daten generieren
    
    Session["meineDaten"] = meineDataTable;
  }
  else
  {
    meineDataTable = Session["meineDaten"]
  }
}

Thema: .NET-SDK und MONO zusammmen installieren
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,
Das ist unproblematisch habe beides bei mir drauf.
.NET und MONO benutzen komplett verschiedene dlls und Verzeichnisse und haben auch einen getrennten GAC.
Da beißt sich nix.
Ich empfehle SharpDevelop, der kann für beide Runtimes kompilieren.

Thema: Graphics-Object to Image
Am im Forum: Grafik und Sound

Hallo,
ich habe für einen ähnlichen Fall folgendes Offscreen-Verfahren entwickelt:
Du kannst die gesamte Zeichenfunktion in eine Methode auslagern und diese dann bei Ereignissen, bei denen tatsächlich neu gezeichnet wird, aufrufen. Das Ergebnis schreibst du in ein Image im RAM. Im OnPaint() zeichnest du dann dieses OffscreenImage. Das heißt, da nach Überdeckungen usw. immer nur OnPaint() aufgerufen wird, daß in diesen Fällen nur das Image gezeichnet wird.


class MyWindow: System.Windows.Forms.Form
{
  Graphics g;
  Bitmap offscreen;
  
  /* Konstruktion usw. */

  void Draw()
  {
      if (offscreen == null) //Bitmap for doublebuffering 
      {
        offscreen = new Bitmap(ClientRectangle.Width, ClientRectangle.Height); 
        g = Graphics.FromImage(offscreen); 
      }
      g.Clear(this.BackColor);
     
     /* Code zum zeichnen hier, dabei das Graphics-Objekt g benutzen. */
  
    CreateGraphics().DrawImage(offscreen,ClientRectangle);

    /*denkbar wäre statt der letzten Zeile auch

    this.InvokePaint(this, new PaintEventArgs(CreateGraphics(),ClientRectangle));

    aber die erste Lösung ist schneller :-)*/
  }

  protected override void OnPaint(PaintEventArgs e)
  {
    e.Graphics.DrawImage(offscreen, e.ClipRectangle ,e.ClipRectangle, GraphicsUnit.Pixel);
    base.OnPaint(e);
  }
  
  protected override void OnResize(EventArgs e)
  {
   //Hier den offscreen nullen, da die Bitmap eine andere Größe bekommt
    offscreen = null;
    Draw();
    base.OnResize(e);
  }

}

Thema: Auf einem externen IIS debuggen
Am im Forum: Web-Technologien

Schau dir mal an wie die Serverinstanz heißt, die vom Remotedebugger erstellt wird. Wenn Du den RD von Hand startest (nicht als Dienst) bekommst Du das auf jeden Fall angezeigt. Der Servername, der dann bei "An Prozess anhängen" eingegeben wird, muss genau diesem Instanznamen entsprechen. Das ist NICHT NUR der Rechnername, obwohl dieser im Instanznamen natürlich enthalten ist.

Thema: SQL Server 2005 - Spalte auslesen wenn sie existiert.
Am im Forum: Datentechnologien

Du kannst das mit doppelten Anführungszeichen escapen: Aber es müssen wirklich zwei einzelne Zeichen gemacht werden, also '' und nicht "

'select '+@spaltenname+' from TABELLE where Textfeld=''testWert'''

Thema: SQL Server 2005 - Spalte auslesen wenn sie existiert.
Am im Forum: Datentechnologien

Ja stimmt das kann ich auch reproduzieren.
Das liegt wohl daran, dass der SQL-Parser die Abfrage schon überprüft bevor er sie überhaupt stellt. Vielleicht hilft es Dir, den SpaltenNamen in eine Variable zu stecken und diese dann im inneren SELECT zu verwenden -> weiß ich aber nicht genau.

Thema: SQL Server 2005 - Spalte auslesen wenn sie existiert.
Am im Forum: Datentechnologien

Nein- ich benutze auch die Express-Edition und bei mir hat die Abfrage genau so funktioniert, wie von Noodles beschrieben (mit einer meiner Tabellen). Muss noch irgendwo ein typo oder sowas sein...

Thema: SQL Server 2005 - Spalte auslesen wenn sie existiert.
Am im Forum: Datentechnologien

Die Abfrage funktioniert so. Vielleicht bist Du nicht auf der richtigen Datenbank wenn Du die Abfrage stellst?? Im Management Studio siehst du die verbudene Datenbank für die aktuelle Query links neben dem "Execute"-Knopf in der Symbolleiste.

Thema: Projektaufbau Assemblies
Am im Forum: Rund um die Programmierung

Sieht eigentlich soweit ok aus, vielleicht ein typo im using-Statement?

Thema: Projektaufbau Assemblies
Am im Forum: Rund um die Programmierung

Kannst Du mal Deine Fehlermeldung posten?

Thema: Speicheradresse adressof() ausgeben
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

@harrylask: Main Fehler mit dem IDisposable, danke, habs mir nochmal angeschaut.

@herbivore:
"Die Frage ist also, ob ein Objekt noch vom Programm aus über eine Referenz zu erreichen ist" -->
So in etwa hatte ich das gemeint, mit "nirgendwo mehr referenziert", hatte mich nur etwas unklar ausgedrückt, sorry.