Új hozzászólás Aktív témák

  • Tomi_78

    aktív tag

    Felmerült még pár hiba a programomban:
    1. miért ad az alábbi kód a NEM gombra kattintva SIGSEGV osztályú kivételt? Nem a Free-vel kell megsemmisíteni futásidőben a gombokat, paneleket és egyéb dolgokat?
    2. a felirathatter-en miért nem látszik a kilépéses felirat?
    3. miért van az, hogy az ESCAPE gombra nem reagál a program, mióta beillesztettem ezt a paneles-gombos kilépést? Pedig csak az van az ESCAPE-hez rendelve, hogy Close;.

    procedure TForm1.kilepgombkatt(Sender: TObject);
    var panelszoveg, igenszoveg, nemszoveg: array [0..1] of string;
    begin
    panelszoveg[0]:='Biztosan ki akarsz lépni?';
    panelszoveg[1]:='Are you sure you want to exit?';
    felirathatter:=TPanel.Create(self);
    With felirathatter do
    begin
    Left:=round(Form1.width/2);
    top:=round(Form1.height/2);
    Caption:=panelszoveg[nyelv];
    parent:=self;
    end;
    igenszoveg[0]:='Igen';
    igenszoveg[1]:='Yes';
    igengomb:=TButton.Create(self);
    With igengomb do
    begin
    Left:=felirathatter.left+1;
    top:=felirathatter.top+TextHeight('I')+1;
    Caption:=igenszoveg[nyelv];
    parent:=self;
    Onclick:=@kilepigenkatt;
    end;
    nemszoveg[0]:='Nem';
    nemszoveg[1]:='No';
    nemgomb:=TButton.Create(self);
    With nemgomb do
    begin
    Left:=igengomb.left+igengomb.width+4;
    top:=felirathatter.top+TextHeight('I')+1;
    Caption:=nemszoveg[nyelv];
    parent:=self;
    Onclick:=@kilepnemkatt;
    end;
    felirathatter.width:=igengomb.width+nemgomb.width+10;
    felirathatter.height:=igengomb.height+TextHeight('I')+10;
    end;

    procedure TForm1.kilepigenkatt(Sender: TObject);
    begin
    close;
    end;

    procedure TForm1.kilepnemkatt(Sender: TObject);
    begin
    igengomb.Free;
    felirathatter.Free;
    nemgomb.Free;
    end;

Új hozzászólás Aktív témák

Hirdetés