Hilfslinien bei Multigraph verschoben

  • Für eine Anwendung die ein Multimeter auslesen soll, habe ich ein Test-/Prototypen vorgefertigt, um die Funktionen zu testen.
    Sieht alles gut beim Test gut aus. Hier der Code:
    DMMGraph.au3
    Und die MultiGraph-UDF dazu:
    MultiGraph.au3

    Integriere ich den gleiche Code in meine bestehende Anwendung/GUI (hier reduziert auf das nötigste um den Fehler zu sehen), verschiebt sich das Zeichnen der Haupt- und Hilfgitterlinien nach rechts, neben den Graphen. Hat jemand eine Erklärung dafür ?

    Hier der Test-Code:
    Fehler_Test.au3
    (die UDF ist die gleiche oben)

    Danke schon einmal für Anschauen...

    Edit: Unbenutze UDF im Test-Code entfernt.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

    Einmal editiert, zuletzt von Micha_he (11. April 2017 um 08:13)

  • Ich habe den Fehler daraufhin einkreisen können, das es an dem "kleinen Rot/Grün-LED" ($IDLed) bzw. dem genutzten GUICtrlCreateGraphic() liegt.
    Nur warum ist mir noch nicht klar...

    Scheinbar richten sich UDF-interne Funktionen, nach der Positionsangabe die ich für das LED-Graphic-Objekt und nicht mehr nach dem gezeichnetten Rahmen, bzw. der Grafikfläche ?!


    Edit:
    Das was man dort sieht, scheint der UDF-interne 'Buffer' zu sein. Aber warum wird er sichtbar bzw. nicht wieder korrekt in die GDI-Grafik zurückgeschrieben (siehe Funktion _MG_Graph_Update() der UDF) ?

    Edit 2:
    Nach weiteren Test kann ich noch folgendes sagen: Die Ausführung von GUICtrlCreateGraphic() verändert die die Position des "$MG_a_Graphic"-Objektes so, das die Funktion "_MG_Graph_updaten()" beim Zeichnen des Bitmaps in dieses Grafik-Objekt, die Position 0/0 von der beim GUICtrlCreateGraphic() angegebenen Position aus rechnet und nicht von 0/0 der GUI.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

    7 Mal editiert, zuletzt von Micha_he (11. April 2017 um 11:37)

  • Ich hole das Thema nochmal nach oben, da ich den Fehler einfach nicht genau lokalisieren kann.
    Hier nochmal ein Minimal-Beispiel, welches den Fehler zeigt:

    Spoiler anzeigen

    Die UDF ist im Beitrag #1.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Jemand noch eine Idee, warum der Befehl "GUICtrlSetGraphic" das Zeichnen des Graphen bzw. vielleicht auch den Buffer verändert/verschiebt ?

    Sonst würde ich mal im englischen Forum fragen...

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"