AGB  ·  Datenschutz  ·  Impressum  







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

Seltsame Ergebnisse

Ein Thema von Delbor · begonnen am 3. Apr 2017 · letzter Beitrag vom 3. Apr 2017
 
Delbor

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

Seltsame Ergebnisse

  Alt 3. Apr 2017, 13:26
Hi zusammen

Um mir die Session-Variable meiner MySQL-DB anzuzeigen und sie gegebenenfalls ändern zu können, habe ich folgende Konstrukte:

In FormCreate der Hauptform:
Delphi-Quellcode:
...
  Self.EdiSessionVarName.Text := IntToStr(FDMySQLDml.MySQLCorrespondent.MaxAllowedPacket);
  Self.UpDSessionVarMB.Position := Round(FDMySQLDml.MySQLCorrespondent.MaxAllowedPacket/1048576);
...
Nach Programmstart zeigen sich mir in der Werkzeugleiste 2 Edits, wie die Anhänge das zeigen. Beide sind ReadOnly, das kleinere ist mit einem TUpDown verbunden und zeigt dessen Positionswert an, der einen Megabytewert darstellt. Das Grössere zeigt diesen Wert in Bytes umgerechnet - dieser Wert wird schlussendlich auch in die Sessionvariable MaxAllowedPacket des Servers geschrieben/von da gelesen.

Ein Klick auf das UpDown verändert nun den Positionswert und damit den Wert der Edits:
Delphi-Quellcode:
procedure TCM_First.UpDSessionVarMBClick(Sender: TObject; Button: TUDBtnType);
begin
  EdiSessionVarMB.Text := IntToStr(UpDSessionVarMB.Position);
  EdiSessionVarName.Font.Color := clred;
  EdiSessionVarName.Text := IntToStr(UpDSessionVarMB.Position * 1048576);
end;
Hier wird der Text rot dargestellt, um deutlich zu machen, dass der neue Wert noch nicht dem Server übergeben wurde.
Entsprechen die Werte den Wünschen des Users, muss dieser nun den nebenstehenden'Ändern'-Button anklicken, um den Wert in die Sessionvariable zu schreiben:
Delphi-Quellcode:
procedure TCM_First.BtnChangeClick(Sender: TObject);
begin
  FDMySQLDml.MySQLCorrespondent.MaxAllowedPacket := UpDSessionVarMB.Position * 1048576;
  ChooseMaxAllowedPacket;
end;

procedure TCM_First.ChooseMaxAllowedPacket;
begin
  EdiSessionVarName.Font.Color := clWindowText;
  EdiSessionVarName.Text := IntToStr(FDMySQLDml.MySQLCorrespondent.MaxAllowedPacket);
  UpDSessionVarMB.position := Round(FDMySQLDml.MySQLCorrespondent.MaxAllowedPacket/1048576);
  EdiSessionVarMB.Text := IntToStr(UpDSessionVarMB.Position);
end;
In ChooseMaxAllowedPacket soll der neue Wert ausgelesen und den beteiligten Kmponenten zugewiesen werden. Die letzte Zeile habe ich eingefügt; aber diese Anweisung wäre offenbar gar nicht nötig. Und abei dachte ich schon, ich hätte das Problem gelöst...

Im Anhang finden sich einige Jpegs, die die Werte zu verschiedenen Zeitpunkten darstellen. Ganz offenbar wird zwar die Servervariable geändert, mir aber erst nach einem Programmneustart die Änderung auch dargestellt.

Nachdem ich mir die Jpegs nach dem Hochladen per Vorschau angesehen habe, hier doch noch einige Erläuterungen:
  • Bild 1 zeigt die Box gleich naach dem Programmstart
  • Bild 2 zeigt die Box nach dem Betätigen des TUpDown
  • Bild 3 zeigt die Box nach anklicken des Ändern-Buttons
Was, zum Kuckuck, mache ich falsch?

Gruss
Delbor
Angehängte Grafiken
Dateityp: jpg Maxallowed GUI Programmstart.JPG (16,1 KB, 19x aufgerufen)
Dateityp: jpg Maxallowed GUI Programmstart geändert.JPG (17,6 KB, 18x aufgerufen)
Dateityp: jpg Maxallowed GUI Änderbutton geklickt.JPG (17,5 KB, 17x aufgerufen)
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 05:22 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