AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

LParam to TRect

Ein Thema von EWeiss · begonnen am 17. Mär 2017 · letzter Beitrag vom 17. Mär 2017
Antwort Antwort
Seite 1 von 2  1 2      
EWeiss
(Gast)

n/a Beiträge
 
#1

LParam to TRect

  Alt 17. Mär 2017, 19:51
Warum funktioniert das nicht bzw. wie geht es richtig.

rc := lP;

es funktioniert nur wenn ich den Speicher vorher kopiere.
CopyMemory(@rc, Pointer(lP), sizeof(rc)); oder ist das so korrekt?
Delphi-Quellcode:
    WM_MOVING:
      begin
        Monitor := MonitorFromWindow(WinHandle, MONITOR_DEFAULTTONEAREST);
        CopyMemory(@rc, Pointer(lP), sizeof(rc));

        if (rc.Top < 0) then
          rc.Top := 0;

        rc.Right := rc.Left + pMM^.ptMinTrackSize.X;
        rc.Bottom := rc.Top + pMM^.ptMinTrackSize.Y;
        tmi.cbSize := sizeof(tmi);
        if (GetMonitorInfo(Monitor, @tmi)) then
        begin
          if (rc.Bottom > tmi.rcWork.Bottom) then
          begin
            rc.Bottom := tmi.rcWork.Bottom;
            rc.Top := rc.Bottom - pMM^.ptMinTrackSize.Y;
          end;
        end;
        Result := 1;
        Exit;
      end;
Die Daten kommen richtig an.
Aber eigentlich wollte ich LParam direkt an TRect (rc) übergeben.

gruss

Geändert von EWeiss (17. Mär 2017 um 19:54 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: LParam to TRect

  Alt 17. Mär 2017, 19:58
Speicher reservieren? Was CopyMen automatisch macht?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: LParam to TRect

  Alt 17. Mär 2017, 20:04
Speicher reservieren? Was CopyMen automatisch macht?
Tip? Lass mich bitte jetzt nicht raten

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: LParam to TRect

  Alt 17. Mär 2017, 20:17
Rat mal. GetMem? Bin mir nicht sicher.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: LParam to TRect

  Alt 17. Mär 2017, 20:27
Rat mal. GetMem? Bin mir nicht sicher.
Und von was GetMem? LOL.
Das hilft mir irgendwie nicht weiter..

Ich möchte nur wissen ob meine Methode mit CopyMemory korrekt ist.
Wenn ja kann ich mir den versuch ersparen lP auf den TRect umzulegen wie auch immer das gehen mag.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

AW: LParam to TRect

  Alt 17. Mär 2017, 20:30
GetMem ist eine normale Funktion von Delphi. Mir fällt gerade die WinAPI Funktion nicht ein. Aber wenn es so funktioniert?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

AW: LParam to TRect

  Alt 17. Mär 2017, 20:35
AllocMem?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#8

AW: LParam to TRect

  Alt 17. Mär 2017, 20:38
GetMem ist eine normale Funktion von Delphi. Mir fällt gerade die WinAPI Funktion nicht ein. Aber wenn es so funktioniert?
Jo mit GetMem kann ich mir den Speicher holen denke aber nicht das ich es in Verbindung mit CopyMemory benötige oder?
Mir ging es halt nur darum wie ich rc := lp (also Lparam an den TRect zuweisen kann ohne CopyMemory).

Ja Vielleicht etwas konfus meine Frage.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

AW: LParam to TRect

  Alt 17. Mär 2017, 20:48
Hach. Wo sind meine WinAPI Tage mit meinem WinAPI Wissen geblieben? Und bitte keinen Verweis auf meine eigenen Tutorials!
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#10

AW: LParam to TRect

  Alt 17. Mär 2017, 21:42
Rect := PRect(lParam)^ evtl.?
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz