Also ich habe die Klasse jetzt folgendermaßen abgeändert:
Delphi-Quellcode:
unit uLC_Computer;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ExtCtrls, StdCtrls;
const
cComputerWidth = 100;
cComputerHeight = 100;
cComputerSpaceV = 10;
cComputerSpaceH = 10;
type
TLCComputer =
class(TWinControl)
private
Name,
IP: TLabel;
Column, Row: integer;
public
constructor Create(NName, NIP:
string; Column, Row: integer);
end;
implementation
constructor TLCComputer.Create(NName, NIP:
string; Column, Row: integer);
begin
Name := TLabel.Create(self);
Name.Parent := self;
Name.Caption := NName;
Name.Left := Column * (cComputerWidth + cComputerSpaceV);
Name.Top := Row * (cComputerHeight + cComputerSpaceH);
IP := TLabel.Create(self);
IP.Parent := self;
IP.Caption := NIP;
IP.Left := Column * (cComputerWidth + cComputerSpaceV);
IP.Top := Row * (cComputerHeight + cComputerSpaceH) + 10;
end;
end.
Ich erstelle nun einen neuen Computer per
Delphi-Quellcode:
procedure TFrmLC.BtnAddComputerClick(Sender: TObject);
var
Name,
IP:
string;
Column, Row: integer;
begin
Name := InputBox('
Computername', '
Bitte geben Sie einen Computernamen an:', '
');
IP := InputBox('
IP-Adresse', '
Bitte geben Sie die IP-Adresse des Computers an:', '
');
SetLength(Computers, Length(Computers) + 1);
Computers[Length(Computers)-1] := TLCComputer.Create(
Name,
IP, Column, Row);
end;
Dabei kommen zwar keine Fehler mehr auf, aber die Labels werden nicht sichtbar...
Muss ich die Parent-Eigenschaft der Labels etwa zwingend auf mein Formular setzen?
//edit: Sorry fürs Doppelpost