![]() |
Warum klappt das Label nicht
Delphi-Quellcode:
Warum zeigt er mir den Namen nicht automatisch an, ohne das ich etwasfunction CurrentUserName: String; var u: array[0..127] of Char; sz: DWord; begin sz:=SizeOf(u); GetUserName(u,sz); Result:=u; label1.caption := CurrentUserName; end; klicken muss. sui |
Re: Warum klappt das Label nicht
Wahahaaas du da machst, ist ein Endlosaufruf dieser Funktion :!: Eigentlich dürfte dein Programm nicht mehr reagieren wenn diese Fkt. aufgerufen wird :gruebel:
Und wenn du möchtest, dass es etwas sofort nach Programmstart passiert, mach es im OnCreate von deinem Formular, oder setz den Namen fest im OI zur Designtime. So dürfte das garnicht hinhauen. gruss, dizzy |
Re: Warum klappt das Label nicht
Versteh ich jetzt nicht so ganz :?:
|
Re: Warum klappt das Label nicht
deine funktion ist rekursiv, sie ruft sich immer wieder selbst auf:
Zitat:
|
Re: Warum klappt das Label nicht
Bist du sicher dass deine Funktion Labe11 überhauot kennt? Sie ist ja keine Methode deiner Formklasse. Und Btw fände ich es so besser:
Delphi-Quellcode:
function UserName: String;
var Size: DWORD; begin Size := MAX_COMPUTERNAME_LENGTH + 1; SetLength(Result, Size); if GetUserName(PChar(Result), Size) then SetLength(Result, Size) else Result := ''; end; |
Re: Warum klappt das Label nicht
Hm, also ich möchte einfach ein Label oder sonst ein Feld haben,
wo gleich von Anfang an der Windows-Benutzername drin steht. Soll eine Begrüssung werden. Ist mir schon lange ein Rätsel, wie solche Sachen realisiert werden. Das irgendeine Information ausgelesen, (wie auch immer) und dann in einem Feld dargestellt wird. Kann mir das nicht mal einer unterbreiten? Bin unterinformiert... :stupid: |
Re: Warum klappt das Label nicht
wie sieht denn die function "GetUsername" aus?
wenn würde ich es so machen:
Code:
label1.caption := u;
|
Re: Warum klappt das Label nicht
Hatt ich schon, passiert nix. Vielleiht hab ich auch wieder mal
alles grundlegend falsch. |
Re: Warum klappt das Label nicht
Delphi-Quellcode:
Ein paar Grundlagentutorials / -bücher wären wohl nicht schlecht. ;)
type
TForm1 = class(TForm) Label1: TLabel; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function UserName: String; var Size: DWORD; begin Size := MAX_COMPUTERNAME_LENGTH + 1; SetLength(Result, Size); if GetUserName(PChar(Result), Size) then SetLength(Result, Size) else Result := ''; end; procedure TForm1.FormCreate(Sender: TObject); begin Label1.Caption := UserName; end; |
Re: Warum klappt das Label nicht
Hach wie doof, doppelt aufs Formular und dann caption :=!!!
Warum hat mich denn keiner an den Doppelklick aufs Formular gebracht, dann hätt ichs wieder gehabt. :mrgreen: Hat grad ne andere Lösung mit der Timer-Komponente :mrgreen: :mrgreen: Danke Luckie, aber ich lass mir meinen Namen lieber alle 1000ms neu generieren. *lol |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz