Einzelnen Beitrag anzeigen

Guido Eisenbeis

Registriert seit: 9. Apr 2006
389 Beiträge
 
Delphi 10.3 Rio
 
#1

Verschiedene Controls an Procedur übergeben

  Alt 27. Okt 2011, 06:16
Ich benutze Lazarus im {$mode delphi} für Win 32.

Es geht um eine Routine, der ein Control übergeben wird und dann einige Eigenschaften benutzt und geändert werden. Die wichtigsten Eigenschaften sind "Canvas", "(Show)Hint" und "Caption".

Der Routine sollen bei verschiedenen Aufrufen auch verschiedene Controls übergeben werden. Beispiel:

Delphi-Quellcode:
  // Prozedur-Kopf
  procedure TForm1.SetShortenedText(ACtrlWithCanvas: T-???; AText: string);


  // Aufruf-Beispiel
  SetShortenedText(Label1, 'Mein Text');
  SetShortenedText(Panel1, 'Mein Text');
Allerdings kriege ich den Typ für "ACtrlWithCanvas" nicht hin. Benutze ich TControl meckert der Compiler über "dies", nehme ich TGraphicsControl meckert er über "das". Wie kann man das lösen, so dass ich ein beliebiges Control (mit Canvas) übergeben kann, ohne die Routine mit zusätzlichen Übergabe-Parametern aufzublähen?

Guido.

Edit: Das Problem konnte nicht auf direktem Weg gelöst werden. Ein Workaround wird in diesem Thread behandelt.

Geändert von Guido Eisenbeis (28. Okt 2011 um 01:24 Uhr)
  Mit Zitat antworten Zitat