Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli
Online

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Komponente mit ChildControls entwickeln

  Alt 21. Okt 2010, 21:34
Wenn Du einer Komponente einen Namen gibst, muss der in der Anwendung eindeutig sein.
Wenn Du Komponenten zur Laufzeit erzeugst, wird dieser jedoch erst mal kein Name zugewiesen.

Ich habe das mal so gelöst:

Delphi-Quellcode:
constructor TXyz.Create(AOwner: TComponent);
begin
  inherited;
  Name := FindUniqueName(ClassName);
end,
Delphi-Quellcode:
unit ssClasses;

interface

function FindUniqueName(BaseName: String; OwnerName: String = ''): String;

implementation

uses
  SysUtils, Forms, Windows;

var
  UN: LongWord = 0;

function FindUniqueName(BaseName: String; OwnerName: String = ''): String;
var
  N: String;
begin
  if OwnerName <> 'then
    BaseName := OwnerName + '_' + BaseName;
  BaseName := BaseName + '_';
  Inc(UN);
  N := BaseName + IntToStr(UN);
  Result := N;
  //OutputDebugString(PChar(N));
end;

end.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat