Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2002-12

bugs in empassword, OnClick and dfm2lfm-converter

4 messages · 2 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Rainer Hamann
to Rainer Hamann: I downloaded lazarus last friday and found the following bugs : - in an editbox (TEdit)…
Show quoted text 29 lines
On Sun, 22 Dec 2002 20:08:10 +0100 Rainer Hamann wrote: > I downloaded lazarus last friday and found the following bugs : > > - in an editbox (TEdit) it is possible to select passwordmode by > empassword, but in the running application passwords are shown in plain > text, not in selected password-characters fixed > - placing a button on the form and doubleclicking on it creates an > errormessage in Forms, that SysUtils can not be found, but the > application is compiled without any errors with the paths given in > Start/Preferences? (Starten/Compileroptionen) (sorry, but I use german > menues) see FAQ > - using conversion from *.dfm to *.lfm within lazarus creates a > *.lfm-file > > which must have errors inside object properties. Compilation ends with an > errormessage at the bracket "(" of "LazResources.Add(". Can you send me an example .dfm file with this bug? Mattias

you get the two units I tried to transfer as attachment

Rainer Hamann

object Anmeldung: TAnmeldung
Left = 253
Top = -3
BorderIcons = []
BorderStyle = bsSingle
Caption = 'Anmeldung'
ClientHeight = 105
ClientWidth = 209
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -10
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
Position = poMainFormCenter
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object PPasswort: TPanel
Left = 0
Top = 0
Width = 209
Height = 105
TabOrder = 1
object LPasswort1: TLabel
Left = 8
Top = 36
Width = 40
Height = 13
Caption = 'Passwort'

    end
    object LPasswort2: TLabel
      Left = 8
      Top = 60
      Width = 70
      Height = 13
      Caption = 'Passwort (Wdh)'
    end
    object LInfo: TLabel
      Left = 1
      Top = 1
      Width = 207
      Height = 26
      Align = alTop
      AutoSize = False
      Caption =
        'Geben Sie das gew'#252'nschte Passwort mit mindestens 6 Zeichen zweim' +
        'al ein!'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clRed
      Font.Height = -11
      Font.Name = 'MS Sans Serif'
      Font.Style = []
      ParentFont = False
      WordWrap = True
    end
    object BFertig: TButton
      Left = 0
      Top = 80
      Width = 209
      Height = 25
      Caption = 'Passwort '#252'bernehmen'
      TabOrder = 0
      OnClick = BFertigClick
      OnKeyDown = BFertigKeyDown
    end
    object EPasswort1: TEdit
      Left = 96
      Top = 32
      Width = 105
      Height = 21
      MaxLength = 20
      PasswordChar = '*'
      TabOrder = 1
      OnKeyDown = EPasswort1KeyDown
    end
    object EPasswort2: TEdit
      Left = 96
      Top = 56
      Width = 105
      Height = 21
      MaxLength = 20
      PasswordChar = '*'
      TabOrder = 2
      OnKeyDown = EPasswort2KeyDown
    end
  end
  object PAnmeldung: TPanel
    Left = 0
    Top = 0
    Width = 209
    Height = 105
    TabOrder = 0
    object LPasswort: TLabel
      Left = 8
      Top = 27
      Width = 40
      Height = 13
      Caption = 'Passwort'
    end
    object LUser: TLabel
      Left = 8
      Top = 3
      Width = 69
      Height = 13
      Caption = 'Benutzername'
    end
    object BAnmelden: TButton
      Left = 104
      Top = 48
      Width = 105
      Height = 55
      Caption = 'Anmelden'
      TabOrder = 2
      OnClick = BAnmeldenClick
      OnKeyDown = BAnmeldenKeyDown
    end
    object EPasswort: TEdit
      Left = 104
      Top = 24
      Width = 105
      Height = 21
      PasswordChar = '*'
      TabOrder = 1
      Text = 'gast'
      OnKeyDown = EPasswortKeyDown
    end
    object EUser: TEdit
      Left = 104
      Top = 0
      Width = 105
      Height = 21
      TabOrder = 0
      Text = 'gast'
      OnKeyDown = EUserKeyDown
    end
    object BEnde: TButton
      Left = 0
      Top = 76
      Width = 105
      Height = 27
      Caption = 'Programm beenden'
      TabOrder = 3
      OnClick = BEndeClick
    end
    object BKonfiguration: TButton
      Left = 0
      Top = 49
      Width = 105
      Height = 27
      Caption = 'Konfiguration'
      TabOrder = 4
      OnClick = BKonfigurationClick
    end
  end

end

unit FAnmeldung;
interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  StdCtrls, ExtCtrls;
type
  TAnmeldung = class(TForm)
    LPasswort: TLabel;
    BAnmelden: TButton;
    EPasswort: TEdit;
    LUser: TLabel;
    EUser: TEdit;
    BEnde: TButton;
    BKonfiguration: TButton;
    PAnmeldung: TPanel;
    PPasswort: TPanel;
    BFertig: TButton;
    LPasswort1: TLabel;
    LPasswort2: TLabel;
    EPasswort1: TEdit;
    EPasswort2: TEdit;
    LInfo: TLabel;
    procedure BAnmeldenClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BEndeClick(Sender: TObject);
    procedure BKonfigurationClick(Sender: TObject);
    procedure EUserKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure EPasswortKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure EPasswort1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure EPasswort2KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure BFertigClick(Sender: TObject);
    procedure BFertigKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure BAnmeldenKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    IstMitSchreiben, OstuBeenden, ok : boolean;
    MySQL_Port : integer;
    User, Passwort, MySQL_Host, MySQL_Datenbank, Lehrerindex, Select : string;
    function Anmelden(DoConnect : boolean; var MitSchreiben : boolean) : boolean;
    function Verschluesseln(s: string) : string;
    procedure ErzeugeSelect;
  end;
var
  Anmeldung: TAnmeldung;
implementation
uses FMySQLDB, FKonfiguration, LowLevelProcs, FKurshalbjahr;
{$R *.DFM}
function TAnmeldung.Anmelden(DoConnect : boolean; var MitSchreiben : boolean) : boolean;
begin
     ok := false;
     PAnmeldung.Show;
     PPasswort.Hide;
     MySQLDB.Disconnect;
     if DoConnect then begin
        MySQLDB.Connect('lehrer', 'lehrer', MySQL_Datenbank, MySQL_Host, MySQL_Port);
     end;
     EUser.Text := '';
     EPasswort.Text := '';
     Lehrerindex := '';
     OstuBeenden := false;
     ShowModal;
     MitSchreiben := IstMitSchreiben;
     Anmelden := ok;
end;
function TAnmeldung.Verschluesseln(s: string) : string;
var
   n, c: integer;
begin
     for n := 1 to Length(s) do begin
         c := ord(s[n]);
         s[n]:= chr(255-c-(n mod 10));
     end;
     Verschluesseln := s;
end;
procedure TAnmeldung.ErzeugeSelect;
begin
     if IstMitSchreiben then begin
        Kurshalbjahr.Start(IstMitSchreiben);
        Select := 'AND Kurse.Semester="'+Kurshalbjahr.AktuellesKurshalbjahr+'" ';
     end
     else begin
        Select := 'AND Kurse.Lehrerindex="'+Lehrerindex+'" ';
     end;
end;
procedure TAnmeldung.BAnmeldenClick(Sender: TObject);
var
   Zeilenzahl, Spaltenzahl : integer;
begin
     if (UpString(EUser.Text) = 'PREY') or (UpString(EUser.Text) = 'HAMANN') or (UpString(EUser.Text) = 'BENCH') then begin
        IstMitSchreiben := true;
     end
     else begin
        IstMitSchreiben := false;
     end;
     if MySQLDB.GetQuery('SELECT Passwort, Lehrerindex '+
                         'FROM Lehrer '+
                         'WHERE Name="'+EUser.Text+'" '+
                         'OR Abkuerzung="'+EUser.Text+'"', Zeilenzahl, Spaltenzahl) = 0 then begin
        if Zeilenzahl > 0 then begin
           MySQLDB.LiesElement(0, 0, Passwort);
           MySQLDB.LiesElement(0, 1, Lehrerindex);
           if Passwort = '' then begin
              PPasswort.Show;
              PAnmeldung.Hide;
              EPasswort1.SetFocus;
              exit;
           end
           else begin
              if Passwort  Verschluesseln(EPasswort.Text) then begin
                 MessageDlg('ung�ltiger Benutzername oder falsches Passwort!', mtError, [mbOk], 0);
                 exit;
              end;
           end;
        end
        else begin
           MessageDlg('ung�ltiger Benutzername!', mtError, [mbOk], 0);
           exit;
        end;
     end;
     ErzeugeSelect;
     ModalResult := mrOk;
     ok := true;
end;
procedure TAnmeldung.FormCreate(Sender: TObject);
begin
     IstMitSchreiben := true;
end;
procedure TAnmeldung.BEndeClick(Sender: TObject);
begin
     OstuBeenden := true;
     ModalResult := mrCancel;
end;
procedure TAnmeldung.BKonfigurationClick(Sender: TObject);
begin
     Konfiguration.Start(false);
end;
procedure TAnmeldung.EUserKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
     if Key = VK_RETURN then begin
        EPasswort.SetFocus;
     end;
end;
procedure TAnmeldung.EPasswortKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
     if Key = VK_RETURN then begin
        BAnmeldenClick(Sender);
     end;
end;
procedure TAnmeldung.EPasswort1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
     if Key = VK_RETURN then begin
        EPasswort2.SetFocus;
     end;
end;
procedure TAnmeldung.EPasswort2KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
     if Key = VK_RETURN then begin
        BFertig.SetFocus;
     end;
end;
procedure TAnmeldung.BFertigClick(Sender: TObject);
begin
     if Length(EPasswort1.Text) < 6 then begin
        MessageDlg('Das Passwort muss aus mindest 6 Zeichen bestehen!', mtError, [mbOk], 0);
        EPasswort1.Text := '';
        EPasswort2.Text := '';
        exit;
     end;
     if EPasswort1.Text = EPasswort2.Text then begin
        if MySQLDB.SetQuery('UPDATE Lehrer '+
                            'SET Passwort="'+Verschluesseln(EPasswort1.Text)+'" '+
                            'WHERE Lehrerindex="'+Lehrerindex+'"') = 0 then begin
           MessageDlg('Das Passwort wurde erfolgreich eingetragen!', mtInformation, [mbOk], 0);
           EPasswort1.Text := '';
           EPasswort2.Text := '';
        end
        else begin
           MessageDlg('Das Passwort konnte nicht eingetragen werden!', mtError, [mbOk], 0);
           EPasswort1.Text := '';
           EPasswort2.Text := '';
           exit;
        end;
     end
     else begin
        MessageDlg('Die Passwort stimmen nicht �berein!', mtError, [mbOk], 0);
        EPasswort1.Text := '';
        EPasswort2.Text := '';
        exit;
     end;
     ErzeugeSelect;
     ModalResult := mrOk;
     ok := true;
end;
procedure TAnmeldung.BFertigKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
     if Key = VK_RETURN then begin
        BFertigClick(Sender);
     end;
end;
procedure TAnmeldung.BAnmeldenKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
     if Key = VK_RETURN then begin
        BAnmeldenClick(Sender);
     end;
end;
end.

object Konfiguration: TKonfiguration
Left = 270
Top = 131
BorderIcons = []
BorderStyle = bsSingle
Caption = 'Konfiguration'
ClientHeight = 412
ClientWidth = 325
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
Position = poMainFormCenter
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 14
object GroupBoxKonfiguration: TGroupBox
Left = 9
Top = 9
Width = 302
Height = 164
Caption = 'Konfigurationsdaten'
TabOrder = 0
object LMySQLServer: TLabel
Left = 9
Top = 26
Width = 135
Height = 14
Caption = 'Name des MySQL-Servers :'

    end
    object LMySQLPort: TLabel
      Left = 9
      Top = 52
      Width = 127
      Height = 14
      Caption = 'Port des MySQL-Servers :'
    end
    object LDatenbankname: TLabel
      Left = 9
      Top = 78
      Width = 106
      Height = 14
      Caption = 'Name der Datenbank :'
    end
    object LBenutzername: TLabel
      Left = 9
      Top = 103
      Width = 107
      Height = 14
      Caption = 'Name des Benutzers :'
    end
    object LBenutzerpasswort: TLabel
      Left = 9
      Top = 129
      Width = 127
      Height = 14
      Caption = 'Passwort des Benutzers :'
    end
    object EMySQLServer: TEdit
      Left = 155
      Top = 22
      Width = 130
      Height = 22
      TabOrder = 0
    end
    object EMySQLPort: TEdit
      Left = 155
      Top = 47
      Width = 130
      Height = 22
      TabOrder = 1
      Text = '3306'
    end
    object EDatenbankname: TEdit
      Left = 155
      Top = 73
      Width = 130
      Height = 22
      TabOrder = 2
    end
    object EBenutzername: TEdit
      Left = 155
      Top = 99
      Width = 130
      Height = 22
      Enabled = False
      TabOrder = 3
    end
    object EBenutzerpasswort: TEdit
      Left = 155
      Top = 125
      Width = 130
      Height = 22
      Enabled = False
      PasswordChar = '*'
      TabOrder = 4
    end
  end
  object BAbbruch: TButton
    Left = 9
    Top = 379
    Width = 147
    Height = 27
    Caption = 'Abbruch'
    TabOrder = 1
    OnClick = BAbbruchClick
  end
  object BSpeichern: TButton
    Left = 164
    Top = 379
    Width = 147
    Height = 27
    Caption = 'Speichern'
    TabOrder = 2
    OnClick = BSpeichernClick
  end
  object KonfigMemo: TMemo
    Left = 224
    Top = 0
    Width = 0
    Height = 0
    TabOrder = 3
    Visible = False
    WordWrap = False
  end
  object GroupBoxMenuepunkte: TGroupBox
    Left = 9
    Top = 241
    Width = 302
    Height = 131
    Caption = 'Men'#252'punkte zeitweise freigeben'
    TabOrder = 4
    object CheckBoxEndnoteneingabe11: TCheckBox
      Left = 17
      Top = 26
      Width = 277
      Height = 18
      Caption = 'Endnoteneingabe 11.Jg'
      TabOrder = 0
    end
    object CheckBoxAbinoteneingabe: TCheckBox
      Left = 17
      Top = 103
      Width = 277
      Height = 19
      Caption = 'Noteneingabe der Abiturklausuren'
      TabOrder = 1
    end
    object CheckBoxEndnoteneingabe12: TCheckBox
      Left = 17
      Top = 52
      Width = 277
      Height = 18
      Caption = 'Endnoteneingabe 12.Jg'
      TabOrder = 2
    end
    object CheckBoxEndnoteneingabe13: TCheckBox
      Left = 17
      Top = 78
      Width = 277
      Height = 18
      Caption = 'Endnoteneingabe 13.Jg'
      TabOrder = 3
    end
  end
  object GroupBoxHalbjahr: TGroupBox
    Left = 9
    Top = 181
    Width = 302
    Height = 53
    Caption = 'Bearbeitungshalbjahr festlegen'
    TabOrder = 5
    object LHalbjahr: TLabel
      Left = 9
      Top = 26
      Width = 91
      Height = 14
      Caption = 'aktiviertes Halbjahr'
    end
    object ComboBoxHalbjahr: TComboBox
      Left = 129
      Top = 22
      Width = 156
      Height = 22
      Style = csDropDownList
      ItemHeight = 14
      TabOrder = 0
    end
  end
  object CheckBoxMemo: TMemo
    Left = 310
    Top = 241
    Width = 0
    Height = 0
    TabOrder = 6
    Visible = False
    WordWrap = False
  end

end

unit FKonfiguration;
interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  StdCtrls;
type
  TKonfiguration = class(TForm)
    GroupBoxKonfiguration: TGroupBox;
    BAbbruch: TButton;
    BSpeichern: TButton;
    LMySQLServer: TLabel;
    LMySQLPort: TLabel;
    LDatenbankname: TLabel;
    LBenutzername: TLabel;
    LBenutzerpasswort: TLabel;
    EMySQLServer: TEdit;
    EMySQLPort: TEdit;
    EDatenbankname: TEdit;
    EBenutzername: TEdit;
    EBenutzerpasswort: TEdit;
    KonfigMemo: TMemo;
    GroupBoxMenuepunkte: TGroupBox;
    CheckBoxEndnoteneingabe11: TCheckBox;
    CheckBoxAbinoteneingabe: TCheckBox;
    CheckBoxEndnoteneingabe12: TCheckBox;
    CheckBoxEndnoteneingabe13: TCheckBox;
    GroupBoxHalbjahr: TGroupBox;
    LHalbjahr: TLabel;
    ComboBoxHalbjahr: TComboBox;
    CheckBoxMemo: TMemo;
    procedure BAbbruchClick(Sender: TObject);
    procedure BSpeichernClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    IniDateiGeladen : boolean;
    procedure Start(IstAdmin : boolean);
    procedure IniDateiLaden;
    procedure IniDateiSpeichern;
    procedure GetConnectParameter(var MySQL_Host, MySQL_Datenbank, MySQL_User, MySQL_Passwort : string; var MySQL_Port : integer);
    function EndnoteneingabeFreigeben(Jahrgang : string) : boolean;
  end;
const
  KonfigFile = 'DBKonf.ini';
var
  Konfiguration: TKonfiguration;
implementation
{$R *.DFM}
uses
    LowLevelProcs, FAnmeldung, FKurshalbjahr, FMySQLDB;
procedure TKonfiguration.Start(IstAdmin : boolean);
var
   n : integer;
begin
     GroupBoxHalbjahr.Visible := IstAdmin;
     GroupBoxMenuepunkte.Visible := IstAdmin;
     if not IniDateiGeladen then begin
        IniDateiLaden;
     end;
     for n := 0 to Kurshalbjahr.ComboBoxHalbjahrname.Items.Count-1 do begin
         ComboBoxHalbjahr.Items.Add(Kurshalbjahr.ComboBoxHalbjahrname.Items[n]);
     end;
     ComboBoxHalbjahr.ItemIndex := Kurshalbjahr.ComboBoxHalbjahrname.ItemIndex;
     ShowModal;
end;
procedure TKonfiguration.BAbbruchClick(Sender: TObject);
begin
     ModalResult := mrCancel;
end;
procedure TKonfiguration.BSpeichernClick(Sender: TObject);
begin
     IniDateiSpeichern;
     ModalResult := mrOk;
end;
procedure TKonfiguration.FormCreate(Sender: TObject);
begin
     IniDateiGeladen := false;
end;
procedure TKonfiguration.IniDateiLaden;
begin
     if FileExists(KonfigFile) then begin
        KonfigMemo.Lines.Clear;
        KonfigMemo.Lines.LoadFromFile(KonfigFile);
        EMySQLServer.Text := KonfigMemo.Lines[0];
        EMySQLPort.Text := KonfigMemo.Lines[1];
        EDatenbankname.Text := KonfigMemo.Lines[2];
        EBenutzername.Text := KonfigMemo.Lines[3];
        EBenutzerpasswort.Text := KonfigMemo.Lines[4];
        IniDateiGeladen := true;
     end;
     if FileExists('WinOstuTmp.ini') then begin
        CheckBoxMemo.Lines.Clear;
        CheckBoxMemo.Lines.LoadFromFile('WinOstuTmp.ini');
        CheckBoxEndnoteneingabe11.Checked := CheckBoxMemo.Lines[0] = FalseTrue[1];
        CheckBoxEndnoteneingabe12.Checked := CheckBoxMemo.Lines[1] = FalseTrue[1];
        CheckBoxEndnoteneingabe13.Checked := CheckBoxMemo.Lines[2] = FalseTrue[1];
        CheckBoxAbinoteneingabe.Checked := CheckBoxMemo.Lines[3] = FalseTrue[1];
     end;
end;
procedure TKonfiguration.IniDateiSpeichern;
var
   Schuljahr, Halbjahr : string;
begin
     KonfigMemo.Lines.Clear;
     KonfigMemo.Lines.Add(EMySQLServer.Text);
     KonfigMemo.Lines.Add(EMySQLPort.Text);
     KonfigMemo.Lines.Add(EDatenbankname.Text);
     KonfigMemo.Lines.Add(EBenutzername.Text);
     KonfigMemo.Lines.Add(EBenutzerpasswort.Text);
     KonfigMemo.Lines.SaveToFile(KonfigFile);
     Halbjahr := ComboBoxHalbjahr.Text;
     Schuljahr := copy(Halbjahr, 1, pos(',', Halbjahr)-1);
     delete(Halbjahr, 1, pos(',', Halbjahr));
     while pos(' ', Halbjahr) = 1 do begin
           delete(Halbjahr, 1, 1);
     end;
     Halbjahr := copy(Halbjahr, 1, pos('.', Halbjahr)-1);
     MySQLDB.SetQuery('UPDATE MiSchulhalbjahrdaten '+
                      'SET Schuljahr="'+Schuljahr+'", '+
                      'Halbjahr="'+Halbjahr+'"');
     IniDateiGeladen := true;  // Editboxen sind gef�llt!
     CheckBoxMemo.Lines.Clear;
     CheckBoxMemo.Lines.Add(FalseTrue[ord(CheckBoxEndnoteneingabe11.Checked)]);
     CheckBoxMemo.Lines.Add(FalseTrue[ord(CheckBoxEndnoteneingabe12.Checked)]);
     CheckBoxMemo.Lines.Add(FalseTrue[ord(CheckBoxEndnoteneingabe13.Checked)]);
     CheckBoxMemo.Lines.Add(FalseTrue[ord(CheckBoxAbinoteneingabe.Checked)]);
     CheckBoxMemo.Lines.SaveToFile('WinOstuTmp.ini');
end;
procedure TKonfiguration.GetConnectParameter(var MySQL_Host, MySQL_Datenbank, MySQL_User, MySQL_Passwort : string; var MySQL_Port : integer);
begin
     if not IniDateiGeladen then begin
        IniDateiLaden;
     end;
     MySQL_Host := EMySQLServer.Text;
     MySQL_Datenbank := EDatenbankname.Text;
     MySQL_User := EBenutzername.Text;
     MySQL_Passwort := EBenutzerpasswort.Text;
     MySQL_Port := StrToInt(EMySQLPort.Text);
end;
function TKonfiguration.EndnoteneingabeFreigeben(Jahrgang : string) : boolean;
begin
     if pos('11.', Jahrgang) > 0 then begin
        EndnoteneingabeFreigeben := CheckBoxEndnoteneingabe11.Checked;
        exit;
     end;
     if pos('12.', Jahrgang) > 0 then begin
        EndnoteneingabeFreigeben := CheckBoxEndnoteneingabe12.Checked;
        exit;
     end;
     if pos('13.', Jahrgang) > 0 then begin
        EndnoteneingabeFreigeben := CheckBoxEndnoteneingabe13.Checked;
        exit;
     end;
     EndnoteneingabeFreigeben := false;
end;
end.

Reply by email

Mattias Gaertner
to Rainer Hamann: I downloaded lazarus last friday and found the following bugs : - in an editbox (TEdit)…
Show quoted text 5 lines
I downloaded lazarus last friday and found the following bugs : - in an editbox (TEdit) it is possible to select passwordmode by empassword, but in the running application passwords are shown in plain text, not in selected password-characters

fixed

- placing a button on the form and doubleclicking on it creates an errormessage in Forms, that SysUtils can not be found, but the application is compiled without any errors with the paths given in Start/Preferences? (Starten/Compileroptionen) (sorry, but I use german menues)

see FAQ

- using conversion from *.dfm to *.lfm within lazarus creates a *.lfm-file which must have errors inside object properties. Compilation ends with an errormessage at the bracket "(" of "LazResources.Add(".

Can you send me an example .dfm file with this bug?

Mattias

Reply by email

Rainer Hamann

I downloaded lazarus last friday and found the following bugs :

- in an editbox (TEdit) it is possible to select passwordmode by empassword, but in the running application passwords are shown in plain text, not in selected password-characters

- placing a button on the form and doubleclicking on it creates an errormessage in Forms, that SysUtils can not be found, but the application is compiled without any errors with the paths given in Start/Preferences? (Starten/Compileroptionen) (sorry, but I use german menues)

- using conversion from *.dfm to *.lfm within lazarus creates a *.lfm-file which must have errors inside object properties. Compilation ends with an errormessage at the bracket "(" of "LazResources.Add(".

Rainer Hamann

Reply by email

Mattias Gaertner
to Rainer Hamann
Show quoted text 9 lines
> > - using conversion from *.dfm to *.lfm within lazarus creates a > > *.lfm-file > > > > which must have errors inside object properties. Compilation ends with > > an errormessage at the bracket "(" of "LazResources.Add(". > > Can you send me an example .dfm file with this bug? you get the two units I tried to transfer as attachment

I had no problem to compile the two units. I used the conversion, which simply renamed the files, since they were already in text form, then opened the pas files, ignored the missing properties and saved to create the lrs files. I changed the uses section, commented missing identifiers and compiled without error.

Can u give more details?

Mattias

Reply by email