AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler bei Lauftext

Ein Thema von DelphiUser7 · begonnen am 1. Sep 2003 · letzter Beitrag vom 3. Sep 2003
Antwort Antwort
Seite 2 von 2     12   
DelphiUser7

Registriert seit: 27. Aug 2003
179 Beiträge
 
#11

Re: Fehler bei Lauftext

  Alt 3. Sep 2003, 17:44
Hallo Peter Lustig!

Wie soll das denn gehen? Ich kann doch nicht erst zur Laufzeit ein Label erzeugen, wenn ich es schon als Variable eingelesen habe, aber nicht erzeugt habe! Und wenn ich es schon vorher erzeuge, bewegt sich das ganze Panel,bzw. es dehnt sich aus, bis ins unendliche!!
Bitte um schnelle Antwort!

Gruss
DelphiUser7
  Mit Zitat antworten Zitat
Benutzerbild von Christian S.
Christian S.

Registriert seit: 19. Apr 2003
Ort: Düsseldorf
835 Beiträge
 
#12

Re: Fehler bei Lauftext

  Alt 3. Sep 2003, 19:12
Hallo!

Der Code oben funktioniert problemlos! Ich habe ihn in Delphi geschrieben und getestet. Außerdem bin ich gerade noch einmal selbst den Anweisungen in meinem letzten Posting gefolgt und bin auf keine Probleme gestoßen! Seit wann führt es zu Problemen, eine Komponente zur Laufzeit zu erzeugen?

Die Variable ist nur eine Referenz auf das Objekt. Wenn das Objekt noch nicht erzeugt ist, dann ist myLabel = nil. Erst mir Create erzeuge ich das Objekt im Speicher und kann damit arbeiten.

Und wieso soll sich das Panel bewegen, wenn Du nirgendwo den left-Wert des Panels änderst?

Bitte versuche mal den Anweisungen zu folgen und wenn Du auf Probleme stößt, dann poste Deinen Quelltext. So kann mir Dir sehr viel besser helfen!

MfG
Peter
Christian S.
Admin in der Entwickler-Ecke
  Mit Zitat antworten Zitat
DelphiUser7

Registriert seit: 27. Aug 2003
179 Beiträge
 
#13

Re: Fehler bei Lauftext

  Alt 3. Sep 2003, 20:28
Hallo!

Ich glaube, es ist nicht nötig, dass ich meinen Quelltext poste, denn ich habe ihn einfach hier rauskopiert, und die entsprechenden Stellen geändert (Label.Name,Panel.Name,etc...); aber ich kann ihn ja trotzdem mal posten. Außerdem ist mir jetzt etwas aufgefallen: Der Text flimmert zwar, läuft aber nicht. Diese Entdeckung verdanke ich der Tatsache, dass ich die Eigenschaft 'DoubleBuffered' auf 'False' gesetzt habe.
Hier noch der Quelltext (von OnFormCreate):
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
   begin
    Play1.Enabled := False;
    Pause1.Enabled := False;
    Stop1.Enabled := False;
    NextTrack.Enabled := False;
    LastTrack.Enabled := False;
   end;
  TextTimer1.Enabled := True;
  myLabel := TLabel.Create(SongPanel);
  myLabel.Parent := SongPanel;
  myLabel.Caption := 'Testtext';
  myLabel.AutoSize := True;
  myLabel.Left := (SongPanel.Width - myLabel.Width) div 2;
  myLabel.Top := (SongPanel.Height - myLabel.Height) div 2;
end;
Und von 'TTimer':
Delphi-Quellcode:
begin
if myLabel.left = -myLabel.width then
    myLabel.left := SongPanel.width
  else myLabel.left := myLabel.Left -1;
end;
Gruss
DelphiUser7
  Mit Zitat antworten Zitat
Benutzerbild von Christian S.
Christian S.

Registriert seit: 19. Apr 2003
Ort: Düsseldorf
835 Beiträge
 
#14

Re: Fehler bei Lauftext

  Alt 3. Sep 2003, 20:38
Hm, komische Sache das. Und Du hast das entsprechende Label auch nur als Variable in der Unit und nicht als Komponente in der Form, oder?
Christian S.
Admin in der Entwickler-Ecke
  Mit Zitat antworten Zitat
DelphiUser7

Registriert seit: 27. Aug 2003
179 Beiträge
 
#15

Re: Fehler bei Lauftext

  Alt 3. Sep 2003, 21:34
Ja. Ich habe mich eben noch mal vergewissert, dass wirklich nur die Variable deklariert wurde, und nicht etwa eine Komponente erstellt wurde.

Gruss
DelphiUser7
  Mit Zitat antworten Zitat
Benutzerbild von Christian S.
Christian S.

Registriert seit: 19. Apr 2003
Ort: Düsseldorf
835 Beiträge
 
#16

Re: Fehler bei Lauftext

  Alt 3. Sep 2003, 22:05
Hallo!

Ich starte jetzt meinen letzten Versuch, ansonsten bin ich da einfach ratlos. Folgendes ist der Quelltext eines funktionierenden Lauftext. Ich habe in einem neuen Projekt ein Panel und einen Timer auf die Form geklickt. Ansonsten nur noch per Quelltext.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  myLabel : TLabel;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  myLabel := TLabel.Create(Panel1);
  myLabel.Parent := Panel1;
  myLabel.Caption := 'Testtext';
  myLabel.AutoSize := True;
  myLabel.Left := (Panel1.Width - myLabel.Width) div 2;
  myLabel.Top := (Panel1.Height - myLabel.Height) div 2;

  Timer1.Interval := 10;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if myLabel.left = -myLabel.width then
    myLabel.left := Panel1.width
  else myLabel.left := myLabel.Left -1;
end;

end.
Und mit diesem Quelltext läuft der Text im Panel.

MfG
Peter
Christian S.
Admin in der Entwickler-Ecke
  Mit Zitat antworten Zitat
DelphiUser7

Registriert seit: 27. Aug 2003
179 Beiträge
 
#17

Re: Fehler bei Lauftext

  Alt 3. Sep 2003, 22:40
Stimmt, danke. Es lag daran, dass ich das Label nicht richtig deklariert hatte...;

Gruss
DelphiUser
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:32 Uhr.
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