AGB  ·  Datenschutz  ·  Impressum  







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

Objekt als Parameter; Fehler

Ein Thema von Popov · begonnen am 17. Mai 2012 · letzter Beitrag vom 17. Mai 2012
 
Popov
(Gast)

n/a Beiträge
 
#1

Objekt als Parameter; Fehler

  Alt 17. Mai 2012, 06:44
Zuerst ein kleines Beispiel, es macht nichts besonderes, es hängt nur eine Bitmap als Objekt am ListBox bei Button1Click und greift über Test in Button2Click wieder drauf zu:

Delphi-Quellcode:
procedure Test(ListBox: TListBox; Bmp: TBitmap);
var
  B: TBitmap;
begin
  B := TBitmap(ListBox.Items.Objects[0]);
  Bmp := B; //wird ignoriert
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Bmp: TBitmap;
begin
  Bmp := TBitmap.Create;
  ListBox1.Items.AddObject('Blablabla', Bmp);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  Bmp: TBitmap;
begin
  Test(ListBox1, Bmp);

  Bmp.Width := 100;
  Bmp.Height := 50;
  Bmp.Canvas.Rectangle(Bmp.Canvas.ClipRect);
  Canvas.Draw(0, 0, Bmp);

  //... das Free lasse ich hier mal weg
end;
Sonderbarerdweise funktioniert die Prozedur "Test" nicht wie ich es mir vorstelle. Parameter "Bmp" ist TBitmap, ein Zeiger, kein Wert, ein "var" für Rückgabe ist ja somit nicht nötig. Das problem ist aber, dass ohne "var" die letzte Zeile vom Compiler entfernt/ignoriert wird.

Mein Frage ist, ist mir da was entgangen oder ist das ein Fehler vom Compiler?
  Mit Zitat antworten Zitat
 


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 04:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz