Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by xaromz,
14. Okt 2006
Hallo,
@Muetze: Danke für die Erklärung. Ich hatte den oben verlinkten Code nur überflogen, weil mir gleich schlecht wurde. Bin ich froh, dass der Kelch VB an mir vorüberging :mrgreen: .
@EWeiss: Ich kann mich alzaimar nur anschließen.
Gruß
xaromz
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by xaromz,
14. Okt 2006
Hallo,
Ich habe mir den Link mal angesehen.
So ganz hab' ich aber immer noch nicht verstanden, wozu ich das brauchen soll. VarPtr gibt also die Adresse einer Variablen zurück, also Addr() bzw @ in Delphi. Aber was ObjPtr soll, hab ich in meiner abendlichen Bierseligkeit nicht begriffen. Kann mich da jemand aufklären?
Gruß
xaromz
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by xaromz,
11. Okt 2006
Hallo,
eine grundsätzliche Anmerkung habe ich noch. Du benutzt reichlich kryptische Variablennamen (m_uWndInfo ist so ein Beispiel). Wenn Du auch nach zwei Wochen noch verstehen willst, was Dein Programm macht, dann solltest Du Dir vielleicht aussagekräftigere Namen ausdenken. Diese sind dann automatisch Teil der Dokumentation des Programms, d. h. der Quellcode wird selbstbeschreibend. Und...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by xaromz,
10. Okt 2006
Hallo,
hierzu
WMSZ_LEFT, WMSZ_TOPLEFT, WMSZ_BOTTOMLEFT:
begin
case Abs(rcTmp.x1 - x1) < SnapWidth of True:
rcWnd.x1 := x1;
end;
case Abs(rcTmp.x1 - x2) < SnapWidth of true:
rcWnd.x1 := x2;
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by xaromz,
10. Okt 2006
Hallo,
Das klappt auch wunderbar in Delphi. Aber wo speicherst Du denn einen Wert in einer privaten Variablen? Da ist in Deinem Quelltext nichts zu finden.
In Delphi sehen Getter und Setter so aus:
function TMagnetic.GetSnapWidth: Integer;
begin
Result := FSnapWidth;
end;
procedure TMagnetic.SetSnapWidth(const Value: Integer);
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by xaromz,
10. Okt 2006
Hallo,
Vorsicht! Hier
procedure TMagnetic.SetSnapWidth(NewSnapWidth: Integer);
begin
SnapWidth := NewSnapWidth;
end;
hast Du eine Rekursion gebaut. Die Zuweisung ruft ja wieder SetSnapWidth auf!
Case True of
Abs(rcTmp.x1 - x1) < SnapWidth: