Einzelnen Beitrag anzeigen

64Jabor

Registriert seit: 9. Jan 2008
158 Beiträge
 
Delphi 7 Personal
 
#10

Re: Laufzeitfehler mit eigenem Typ

  Alt 6. Mai 2009, 18:50
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
Sebastian
  Mit Zitat antworten Zitat