WritePad 3.0

    • Release

    Es gibt 472 Antworten in diesem Thema. Der letzte Beitrag () ist von Kouki.

      @LucaWelker: das liegt soweit ich weiß am Aero. Das muss man selber dazu coden.
      So Leute, ich melde mich auch mal wieder zu Wort, nachdem ich so lange keinen Support geboten und kaum an WritePad gearbeitet habe. Der Fehler ist natürlich sehr schwerwiegend, da er die Nutzung unter XP und sogar die gesamte Entwicklung verhindert hat. Es scheint jedoch nur ein kleines Detail zu sein, das bei den Arbeiten von mir übersehen wurde. Naja, jedenfalls habe ich hier eine Version, in der ich das ganze System der Aero-Darstellung einmal gründlich überholt worden ist und sogar in eine eigene Klasse gepackt wurde (der Übersichtlichkeit halber). Da ich kein XP habe und nur wenige Zugänge zu einem XP-System habe, wäre ich sehr dankbar, wenn ein paar Leute das "Patch" antesten könnten, bevor ich es offiziel als ein solches zum Update biete.

      WritePad.rar
      Im Archiv ist nur die EXE-File, die ihr dann bitte statt der älteren (Version vom 1. Januar, also Build 25) zusammen mit den Programmdateien nutzt.

      Danke schonmal im Vorraus!
      Geht bei mir auch nicht


      Windows XP SP 3 Professional
      Jetzt schnell und einfach das Zehnfingersystem mit Scribble 3 erlernen. Mehr Informationen und Download gibts hier. Redundancy2 - leichtgewichtige freie Cloudsoftware. Folge mir auf GitHub
      Hmmm... Irgendwer 'ne Idee, wieso es nicht funktioniert? Ich bin mittlerweile wirklich ratlos damit...

      VB.NET-Quellcode

      1. Imports System.Runtime.InteropServices
      2. Public Class Aero
      3. <StructLayout(LayoutKind.Sequential)> _
      4. Public Structure MARGINS
      5. Public cxLeftWidth As Integer
      6. Public cxRightWidth As Integer
      7. Public cyTopHeight As Integer
      8. Public cyButtomheight As Integer
      9. End Structure
      10. <DllImport("dwmapi.dll")> _
      11. Private Shared Function DwmExtendFrameIntoClientArea(ByVal hWnd As IntPtr, ByRef pMarinset As MARGINS) As Integer
      12. End Function
      13. Public Shared Function AeroToWindow(ByVal hWnd As IntPtr, ByVal m As MARGINS) As Integer
      14. On Error Resume Next
      15. Return DwmExtendFrameIntoClientArea(hWnd, m)
      16. End Function
      17. End Class
      Was für einen Wert gibt die Funktion denn zurück?
      Wenn du 0 zurück bekommst wars erfolgreich, andernfalls ist es eine Fehlermeldung, welche sich so aufbaut:
      msdn.microsoft.com/en-us/library/cc231198.aspx
      en.wikipedia.org/wiki/HRESULT
      Ich wollte auch mal ne total überflüssige Signatur:
      ---Leer---
      Es ist am sinnvollsten wenn du vor dem API-Aufruf auf das System prüfst, denn dann brauchst du im restlichen Programm nicht ab und zu ne OS-Prüfung einbauen. Diese kann zudem leicht vergessen werden.

      On Error Resume Next is dreckiger VB6-Stil btw. In .NET gibt's den Try-Catch-Block nicht umsonst.
      Von meinem iPhone gesendet
      @jvbsl: Danke, aber bei dem Fehler komme ich trotzdem nicht weiter... :(

      Dann übersetze den Fehler doch mal aus dem HRESULT...

      Und natürlich die Überprüfung(wie nikeee13 gesagt hat) noch einbauen...
      Ich wollte auch mal ne total überflüssige Signatur:
      ---Leer---
      Okay, hab mich wieder lange nicht gemeldet ;)

      Zunächst:
      @jvbsl: Ein HRESULT wird leider nicht geliefert (soviel ich weiß), daher kann ich ihn natürlich nicht "übersetzen", und die Überprüpung ist ja bereits integriert.
      @nikeee13: Ich hab halt nichts unversucht gelassen. Früher hab ich es mit On Error Resume Next gemacht, da hat das ganze funktioniert.
      @Fibonacci: Über die Versionsnummer. Ist sie => 6, ist das System kompatibel.

      Und noch was neues:
      Ich hatte heute die Gelegenheit, mit dem XP-Lappi meiner Sis das Programm zu testen. Dabei habe ich verschiedene Versionen des Codes debugged und auf XP ausgeführt. In meinem letzten Test (vor einigen Minuten) wurden sogar die API-Deklarierungen und -Aufrufe entfernt. Violá: Kein Unterschied. Der Fehler kommt somit nicht vom AeroGlass-Style. Worüber ich - wenn ich ehrlich bin - sehr erleichtert bin, denn ich war schon am Verzweifeln damit. Allerdings gibt es jetzt die große Frage, die im Raum steht: Was ist es dann? Im Augenblick kann ich darüber keine Auskunft geben, aber mit diesem kleinen Lichtchen am Ende des Tunnels werde ich natürlich weitersuchen und versuchen, möglichst schnell das Problem zu beheben, das es den XP-Nutzern so sehr erschwert, WritePad zu verwenden. Ihr könnt euch sicher sein: Ihr werdet bald von mir hören.

      Update [17:19]: Hab das ganze mal komplett ohne Form-Code und andere Forms etc. getestet, also so, als hätte man das Programm schon fertig designt, aber noch nicht ein Stückchen Code geschrieben -> funktioniert nicht. Es scheint, als würde das Problem bei Qios liegen.
      Update [17:26]: Test Positiv - In dem Sinne, dass Qios nicht das Problem sein kann. Also: Weitersuchen!
      Update [17:37]: Test von WritePad ohne Steuerelemente positiv. Schlussfolgerung: Das Problem liegt nicht zwangsläufig bei Qios, sondern generell bei einem der Steuerelemente.
      Update [17:48]: Externer Test mit Aero und Qios positiv. Sieht aus, als wäre hier schon Schluss mit WritePad 3 - Was lange nicht heißen soll, dass ich WritePad an sich aufgebe.

      Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „Kouki“ ()