Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zugriff auf Scrollbox Objekte (https://www.delphipraxis.net/68894-zugriff-auf-scrollbox-objekte.html)

tigerman33 8. Mai 2006 13:56

Re: Zugriff auf Scrollbox Objekte
 
Ist außerdem nicht nur eleganter, sondern auch deutlich performanter als die Zuordnung über die Name-property!

meg91 8. Mai 2006 14:12

Re: Zugriff auf Scrollbox Objekte
 
hab jetzt folgendes in mein Prog eingebaut
Delphi-Quellcode:
var
  BtnArray: Array of TButton;
  i: integer;
begin
setlength(BtnArray, 3);
for i:=0 to length(BtnArray)-1 do
  begin
    BtnArray[i]:= Tbutton.Create;
    Btnarray[i].Parent:=Form3;
  end;
end;
aber ich bekomm da immer ne fehlermeldung:
[Fehler] Unit3.pas(34): E2035 Nicht genügend wirkliche Parameter

was ist denn da falsch?

fkerber 8. Mai 2006 14:13

Re: Zugriff auf Scrollbox Objekte
 
Hi!

Auf welche zeile bezieht sich der Fehler?

Ciao Frederic

Hawkeye219 8. Mai 2006 14:16

Re: Zugriff auf Scrollbox Objekte
 
@frederic
auf deinen Fehler aus Beitrag #6 :wink:

Die Methode Create braucht einen Parameter (den Owner)!

Gruß Hawkeye

tigerman33 8. Mai 2006 14:16

Re: Zugriff auf Scrollbox Objekte
 
Vermutlich auf die Zeile mit dem Konstruktor-Aufruf. Der müsste so aussehen:

Delphi-Quellcode:
BtnArray[i]:= Tbutton.Create(Form3);

fkerber 8. Mai 2006 14:17

Re: Zugriff auf Scrollbox Objekte
 
Hi!

Ich hatte ja gemeint, in welcher Zeile des Codes der Fehler auftritt.
Aber stimmt, das Create will wissen, wem das neue Control jetzt gehören soll.

Kommt davon, wenn man was aus dem Kopf schreibt.


Ciao Frederic

meg91 8. Mai 2006 14:32

Re: Zugriff auf Scrollbox Objekte
 
Liste der Anhänge anzeigen (Anzahl: 1)
hab das ganze grad ma in einem andere kleinen Prog getestet und es funzt super, nur wenn ichs bei mir einbaue bekomm ich immer nen Fehler während der Laufzeit
hier mal ein schnipsel source
Delphi-Quellcode:
var
  dateinamen_label: Array of TLabel;
  zaehler :integer = -1;
implementation

{$R *.dfm}

procedure TForm1.list_results(picture: string; text_1:string; text_2:string);
begin
zaehler := zaehler + 1;
setlength(dateinamen_label, zaehler + 2);
 {...}
with dateinamen_label[zaehler + 1] do
begin
  dateinamen_label[zaehler + 1] := TLabel.Create(self);
  Parent := ScrollBox1;
  Cursor := crHandPoint;
  OnClick := p_openlink;
  Tag := zaehler + 1;
  Font.Color := $009A570C;
  Font.Style := [fsBold, fsUnderline];
  Caption := text_1;
  Top := 40 * zaehler;
  Left := 30;
end;
 {...}
end;

procedure TForm1.p_openlink(Sender: TObject);
var
  i_labelnumber: integer;
begin
  if Sender is TLabel then
  i_labelnumber := (Sender as TLabel).Tag;

  ShellExecute(0,'open', pchar(linkliste[i_labelnumber]),nil,nil,SW_SHOWNORMAL);;
end;
aus irgendeinem Grund erstellt der das Label nicht

fkerber 8. Mai 2006 14:33

Re: Zugriff auf Scrollbox Objekte
 
HI!

Verrätst du uns auch, was für ein Fehler kommt?


Ciao Frederic

meg91 8. Mai 2006 14:53

Re: Zugriff auf Scrollbox Objekte
 
Die Meldung ist bei meinem letzen Posting im Anhang und außerdem kommt nach der noch eine Fehlermelung mit einer Zugriffsverletzung
keine Ahnung was ich da angestellt hab

Hawkeye219 8. Mai 2006 15:00

Re: Zugriff auf Scrollbox Objekte
 
Zitat:

Zitat von meg91
Delphi-Quellcode:
with dateinamen_label[zaehler + 1] do
begin
  dateinamen_label[zaehler + 1] := TLabel.Create(self);
  [...]
  Tag := zaehler + 1;
end;

Die Verwaltung des Zählers ist etwas undurchsichtig. Warum verwendest du an den obigen Stellen den Wert "zaehler +1"?
Bei deiner Zählweise wäre doch "zaehler" der richtige Wert, oder? :gruebel:

Gruß Hawkeye


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:37 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz