![]() |
AW: Brauch mal Hilfe bei Tobjectlist
type
TIrgendwas = class |
AW: Brauch mal Hilfe bei Tobjectlist
type
TIrgendwas1 = class FIrgendwas1 gehört zu dieser class |
AW: Brauch mal Hilfe bei Tobjectlist
Zitat:
|
AW: Brauch mal Hilfe bei Tobjectlist
hat er vielleicht probleme damit 2 objecktclassen zu createn und zu bedienen???
hier mal der code von form1 if form7.ShowModal = mrok then begin FObjects.Add(Form7.Irgendwas); FGesamt := FGesamt + Form7.Irgendwas.Summe; eltreestringgrid1.Cells[2, eltreestringgrid1.Row] := Form7.Irgendwas.ErsteZahlAsString + ' €'; eltreestringgrid1.cells[4, eltreestringgrid1.Row] := form7.Irgendwas.ZweiteZahlAsString + ' €'; eltreestringgrid1.Cells[4, eltreestringgrid1.Row] := Format('%.2n €', [FGesamt]); eltreestringgrid1.Cells[4, eltreestringgrid1.Row-1]:=form1.eltreestringgrid1.Cells[4,form1.eltreestringgrid1.Row-1]+' €'; eltreestringgrid1.RowCount := eltreestringgrid1.RowCount + 1; eltreestringgrid1.Row := eltreestringgrid1.Row + 1; if form7.ShowModal = mrok then begin FObjects.Add(Form7.Irgendwas); Fgesamt1 := FGesamt1 + Form7.irgendwas.summe1; eltreestringgrid1.Cells[3, eltreestringgrid1.Row] := Form7.Irgendwas.dritteZahlAsString + ' €'; eltreestringgrid1.cells[4, eltreestringgrid1.Row] := form7.Irgendwas.ZweiteZahlAsString + ' €'; eltreestringgrid1.Cells[4, eltreestringgrid1.Row] := Format('%.2n €', [FGesamt]); eltreestringgrid1.Cells[4, eltreestringgrid1.Row-1]:=form1.eltreestringgrid1.Cells[4,form1.eltreestringgrid1.Row-1]+' €'; eltreestringgrid1.RowCount := eltreestringgrid1.RowCount + 1; eltreestringgrid1.Row := eltreestringgrid1.Row + 1; end; end; end; |
AW: Brauch mal Hilfe bei Tobjectlist
Hallo,
also was Du wirklich brauchst ist zunächst mal ein Grundkurs Quelltextformatierung. Eigentlich sollte unter einem solchen Quelltextpost ein Warnhinweis "Vermeiden Sie ein längeres Betrachten dieses Quellcodes, dies kann zu Augenkrebs, sowie anderen irreparablen Schäden oder schwerwiegenden Beeinträchtigungen Ihres Sehvermögens führen." stehen. Gewöhn Dir dringend eine ordentliche Formatierung an! Weiterhin: Was sollen die Funktionen:
Dein Problem liegt wohl hier
Delphi-Quellcode:
Da scheppert es dann auch, wenn Du auf den Button klickst und das Form sich über mrOK verabschiedet.
procedure TForm7.Button3Click(Sender: TObject);
begin form1.eltreestringgrid1.cells[0,form1.ElTreeStringGrid1.Row]:=edit5.text; try FIrgendwas1.ErsteZahl1AsString := edit7.Text; // <-- wo zum Henker wird den die Eigenschaft FIrgendwas1 instanziiert? Hol es nach und es funktioniert try FIrgendwas1.ZweiteZahl1AsString := edit9.text; ModalResult := mrOK; except on E: Exception do begin MessageBox(0, PChar(E.Message), nil, MB_OK or MB_ICONERROR); edit9.SetFocus; edit9.SelectAll; end; end; except on E: Exception do begin MessageBox(0, PChar(E.Message), nil, MB_OK or MB_ICONERROR); edit7.SetFocus; edit7.SelectAll; end; end; end; Weiter scheppern wird es dann
Delphi-Quellcode:
Verstehe es bitte nicht falsch, ich bin immer dafür keine Memoryleaks zu hinterlassen, aber ein FreeAndNil in FormCloseQuery, FormClose und FormDestroy ist ein klein wenig übertrieben.
if Form7.Showmodal = mrOK then //diese Zeile wird blau markiert
begin FObjects1.Add(Form7.Irgendwas1); FGesamt1 := FGesamt1 + Form7.Irgendwas1.Summe1; eltreestringgrid1.Cells[3, eltreestringgrid1.Row] := Form7.Irgendwas1.ErsteZahl1AsString + ' €'; eltreestringgrid1.cells[4, eltreestringgrid1.Row] := form7.Irgendwas1.ZweiteZahl1AsString + ' €'; eltreestringgrid1.Cells[4, eltreestringgrid1.Row] := Format('%.2n €', [FGesamt]); eltreestringgrid1.Cells[4, eltreestringgrid1.Row-1]:=form1.eltreestringgrid1.Cells[4,form1.eltreestringgrid1.Row-1]+' €'; eltreestringgrid1.RowCount := eltreestringgrid1.RowCount + 1; eltreestringgrid1.Row := eltreestringgrid1.Row + 1; FObjects.Add(Form7.Irgendwas); FGesamt := FGesamt + Form7.Irgendwas.Summe; // <-- hier, weil in FormCloseQuery freigegeben und zur Sicherheit nochmals in FormClose eltreestringgrid1.Cells[2, eltreestringgrid1.Row] := Form7.Irgendwas.ErsteZahlAsString + ' €'; eltreestringgrid1.cells[4, eltreestringgrid1.Row] := form7.Irgendwas.ZweiteZahlAsString + ' €'; eltreestringgrid1.Cells[4, eltreestringgrid1.Row] := Format('%.2n €', [FGesamt]); eltreestringgrid1.Cells[4, eltreestringgrid1.Row-1]:=form1.eltreestringgrid1.Cells[4,form1.eltreestringgrid1.Row-1]+' €'; eltreestringgrid1.RowCount := eltreestringgrid1.RowCount + 1; eltreestringgrid1.Row := eltreestringgrid1.Row + 1; end; end; Ich hoffe es hilft Dir etwas weiter und ich bin ab morgen nicht mit Blindheit geschlagen Gruß |
AW: Brauch mal Hilfe bei Tobjectlist
Liste der Anhänge anzeigen (Anzahl: 1)
habe es jetzt hinbekommen. Danke erstmal an alle jetzt habe ich noch eine Frage.
Ich habe 2 objectlisten erstellt einmal für einnahme und einmal für ausgabe für das kassen buch jedoch rechnet er immer mit dem im speicher geladenen Daten siehe Bild. Wie kann ich das am besten ändern??? |
AW: Brauch mal Hilfe bei Tobjectlist
Gib deinen Variablen mal vernünftige Bezeichner.
Wahrscheinlich hast du irgendwo ein irgendwas mit irgendwas1 verwechselt oder gar irgendwo irgendwas := irgendwas1 stehen. |
AW: Brauch mal Hilfe bei Tobjectlist
ich checke es nochmal
kann mann den speicher nicht einfach freigeben so das er wieder bei null anfängt wenn ich in diesen code
Delphi-Quellcode:
wenn es so steht dann rechnet er falsch obwohl dies richtig wäre da fzweitezahl row-1 ist in der spalte bestand. und ferstezahl splate einnahmen
function TIrgendwas.GetSumme: double;
begin Result := ferstezahl+fzweitezahl; end; |
AW: Brauch mal Hilfe bei Tobjectlist
habe den Fehler gefunden
Delphi-Quellcode:
habe es geändert
Fgesamt1 := FGesamt1 + Form7.irgendwas1.summe1;
Delphi-Quellcode:
Fgesamt1 := Form7.irgendwas1.summe1;
Danke für den tip manchmal ist mann echt blind.... |
AW: Brauch mal Hilfe bei Tobjectlist
Nur weil ich die Klasse und die Variable TIrgendwas/Irgendwas genannt habe, muss das ja nicht so bleiben. Das lag einzig und allein daran, dass ich nicht wusste, was da eigentlich dahintersteckt. Es wäre also vielleicht eine gute Idee, die Namen einmal an die tatsächlichen Gegebenheiten anzupassen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:38 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-2025 by Thomas Breitkreuz