Einzelnen Beitrag anzeigen

berens

Registriert seit: 3. Sep 2004
431 Beiträge
 
Delphi 2010 Professional
 
#1

Delphi 2010 - TEdit PasswordChar = #0 Bug lässt Cursor verschwinden

  Alt 17. Aug 2017, 10:43
Hallo,
ich habe folgendes Problem unter Delphi:

Ich möchte, dass ein Edit-Feld, wenn es betreten wird das Passwort im Klartext anzeigt, und nach dem Verlassen wieder nur Sternchen. Soweit kein Problem.


Man nehme ein leeres Formular mit zwei TEdit, und weise OnEnter und OnExit jeweils zu:
Delphi-Quellcode:
unit Unit2;

interface

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

type
  TForm2 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    procedure Edit1Enter(Sender: TObject);
    procedure Edit1Exit(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}
{$R w7_ohneAdmin.res}

procedure TForm2.Edit1Enter(Sender: TObject);
begin
  (Sender as Tedit).PasswordChar := #0;
end;

procedure TForm2.Edit1Exit(Sender: TObject);
begin
  (Sender as Tedit).PasswordChar := '*';
end;

end.
Meines Wissens sollte auch in Delphi 2010 trotz Unicode etc. "#0" immer noch als "keine Sternchen sondern normalen Text anzeigen" gültig sein; ist ja auch der Standardwert im Objektinspektor.

Startet man nun das Programm (man kann in beiden Editfeldern beliebig eintippen, man sieht den Cursor, alles ganz normal) und wechselt das zweite Mal in das selbe Edit, sieht man keinen Cursor mehr! Man kann zwar tippen, löschen, nach links uns rechts gehen (mit einem unsichtbaren Cursor!) etc., aber man sieht ihn halt nicht mehr. Auch nach erneutem hin- und herwechseln oder Maus-anklicken bekommt man ihn nicht mehr sichtbar...

Kennt jemand das Problem, bzw. kann das jemand mit Delphi 2010 nachvollziehen? Problem von Delphi, oder mache ich was falsch?



Embarcadero® Delphi® 2010 Version 14.0.3593.25826 incl. Update 5
Delphi 10.4 32-Bit auf Windows 10 Pro 64-Bit, ehem. Delphi 2010 32-Bit auf Windows 10 Pro 64-Bit
  Mit Zitat antworten Zitat