AGB  ·  Datenschutz  ·  Impressum  







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

Seltsames Werteverhalten

Ein Thema von Delbor · begonnen am 29. Jan 2019 · letzter Beitrag vom 2. Feb 2019
 
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.192 Beiträge
 
Delphi 11 Alexandria
 
#1

Seltsames Werteverhalten

  Alt 29. Jan 2019, 13:52
Delphi-Version: 5
Hi zusammen

Da sich dieser Thread vom ursprünglichen Thema entfernt hat, beginne ich hier einen Neuen.
Corpus Delicti ist dies:
AktuelleAnsicht.jpg
Vorerst aber zu dem, was sich seit dem oben verlinkten Thread geändert hat.
Nach wie vor im RadiobuttonFrame:
Delphi-Quellcode:
procedure TRadioButtonsFrame.RadioButtonPosition2;
  var i, x, y, ScBX, LHeight, LLeft: Integer;
begin
  inc(FResizeCounter);
  x := FRadioButtonList.Count -1;
  Self.FReportList.Add('procedure TRadioButtonsFrame.RadioButtonPosition2 - ' + inttostr(FResizeCounter));
  For i := 0 to x do
  begin
    FRadioButtonList.Items[i].Width := 50;

    LLeft := (ScBxRadioButtons.ClientWidth div 2) - (FRadioButtonList.Items[i].Width div 2);
    LHeight := (i * FRadioButtonList.Items[i].Height) + ScBxRadioButtons.ClientHeight div 4;
    ScBX := ScBxRadioButtons.ClientWidth div 2; //<=
    Self.FReportList.Add('ScBxRadioButtons.ClientWidth div 2 := ' + IntToStr(ScBX));

    Self.FReportList.Add('LLeft := ' + IntToStr(LLeft));
    Self.FReportList.Add('LHeight := ' + IntToStr(LHeight));

    FRadioButtonList.Items[i].Left := LLeft;
    FRadioButtonList.Items[i].Top := LHeight;
  end;
end;
Als einziges ist hier die grün markierte Zeile hinzugekommen. Ausserdem wird die Routine nicht mehr aus dem OnResize des Frames, sondern as dem OnCreate der Mainform aufgerufen:
Delphi-Quellcode:
procedure THomeOfficerMainForm.FormCreate(Sender: TObject);
begin
  FReportList := TStringlist.Create();
  Self.RadioButtonsFrame1.RadioButtonPosition2;
  Self.PdfScanFrame1.RadioButtonsFrame1.RadioButtonPosition2;
end;
Beim Beenden der Form lese ich die Reportliste des Frames aus:
Delphi-Quellcode:
procedure THomeOfficerMainForm.WriteReportFile;
  var S, DateTimeStr, DS: string;
      ReportStream: TFileStream;
begin
  DS := DateTimeToStr(Now);
  DateTimeStr := StringReplace(DS, ':', '-', [rfReplaceAll]);
  S := ExtractFilePath(Application.ExeName) + '\' + 'CodeReport ' +DateTimeStr+'.txt';
  try
    Reportstream := TFileStream.Create(S, fmOpenReadWrite);
  except
    Reportstream := TFileStream.Create(S, fmCreate);
  end;
  try
    FReportList.insert(0,DateTimeToStr(Now));
    FReportlist.Insert(1,'----------------');
    FReportList.AddStrings(Self.RadioButtonsFrame1.ReportList);
    FReportList.AddStrings(Self.PdfScanFrame1.RadioButtonsFrame1.ReportList);
    FReportlist.SaveToStream(ReportStream);
  finally
    Reportstream.Free;
  end;
end;
Und diese Liste:
Delphi-Quellcode:
29.01.2019 13:17:49
----------------
procedure TRadioButtonsFrame.RadioButtonPosition2 - 1
ScBxRadioButtons.ClientWidth div 2 := 396 //<==
LLeft := 371
LHeight := 55
ScBxRadioButtons.ClientWidth div 2 := 396 //<==
LLeft := 371
LHeight := 74
ScBxRadioButtons.ClientWidth div 2 := 396 //<==
LLeft := 371
LHeight := 97
ScBxRadioButtons.ClientWidth div 2 := 396 //<==
LLeft := 371
LHeight := 118

procedure TRadioButtonsFrame.RadioButtonPosition2 - 1
ScBxRadioButtons.ClientWidth div 2 := 43 //<==
LLeft := 18
LHeight := 32
ScBxRadioButtons.ClientWidth div 2 := 43 //<==
LLeft := 18
LHeight := 51
ScBxRadioButtons.ClientWidth div 2 := 51 //<====
LLeft := 26
LHeight := 74
ScBxRadioButtons.ClientWidth div 2 := 51 //<==
LLeft := 26
LHeight := 95
Wie man sieht, ändert sich nach dem 2. Prozedurkopf der Wert von ScBxRadioButtons.ClientWidth div 2 (ScBx := Scrollbox). Wie kann so etwas geschehen?

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
 


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 07:03 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 by Thomas Breitkreuz