Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Brauch mal Hilfe bei Tobjectlist (https://www.delphipraxis.net/173670-brauch-mal-hilfe-bei-tobjectlist.html)

Natcree 10. Mär 2013 01:04

AW: Brauch mal Hilfe bei Tobjectlist
 
type
TIrgendwas = class

Natcree 10. Mär 2013 01:07

AW: Brauch mal Hilfe bei Tobjectlist
 
type
TIrgendwas1 = class

FIrgendwas1 gehört zu dieser class

Natcree 10. Mär 2013 01:08

AW: Brauch mal Hilfe bei Tobjectlist
 
Zitat:

Zitat von Bjoerk (Beitrag 1206684)
Wenn diese Abfrage #1 in Form1 steht dann ist

Delphi-Quellcode:
  if Form7.Showmodal = mrOK then
soweit in Ordnung.

Sehe mir mal kurz noch form7 an ob ich da was finde..

Ja steht Sie

Natcree 10. Mär 2013 01:09

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;

Volker Z. 10. Mär 2013 02:29

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:
  • Xls_To_StringGrid
  • Xls_To_StringGrid1
  • SaveAsExcelFile
  • SaveAsExcelFile1
im Code, wenn sie doch nicht genutzt werden?

Dein Problem liegt wohl hier
Delphi-Quellcode:
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;
Da scheppert es dann auch, wenn Du auf den Button klickst und das Form sich über mrOK verabschiedet.

Weiter scheppern wird es dann
Delphi-Quellcode:
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 + ' &#8364;';
      eltreestringgrid1.cells[4, eltreestringgrid1.Row] := form7.Irgendwas1.ZweiteZahl1AsString + ' &#8364;';
      eltreestringgrid1.Cells[4, eltreestringgrid1.Row] := Format('%.2n &#8364;', [FGesamt]);
      eltreestringgrid1.Cells[4, eltreestringgrid1.Row-1]:=form1.eltreestringgrid1.Cells[4,form1.eltreestringgrid1.Row-1]+' &#8364;';
      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 + ' &#8364;';
      eltreestringgrid1.cells[4, eltreestringgrid1.Row] := form7.Irgendwas.ZweiteZahlAsString + ' &#8364;';
      eltreestringgrid1.Cells[4, eltreestringgrid1.Row] := Format('%.2n &#8364;', [FGesamt]);
      eltreestringgrid1.Cells[4, eltreestringgrid1.Row-1]:=form1.eltreestringgrid1.Cells[4,form1.eltreestringgrid1.Row-1]+' &#8364;';
      eltreestringgrid1.RowCount := eltreestringgrid1.RowCount + 1;
      eltreestringgrid1.Row := eltreestringgrid1.Row + 1;
     end;
end;
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.

Ich hoffe es hilft Dir etwas weiter und ich bin ab morgen nicht mit Blindheit geschlagen

Gruß

Natcree 10. Mär 2013 19:46

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???

Bjoerk 10. Mär 2013 21:17

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.

Natcree 10. Mär 2013 21:29

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:
function TIrgendwas.GetSumme: double;
begin
  Result := ferstezahl+fzweitezahl;
end;
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

Natcree 10. Mär 2013 21:43

AW: Brauch mal Hilfe bei Tobjectlist
 
habe den Fehler gefunden

Delphi-Quellcode:
Fgesamt1 := FGesamt1 + Form7.irgendwas1.summe1;
habe es geändert

Delphi-Quellcode:
Fgesamt1 := Form7.irgendwas1.summe1;

Danke für den tip manchmal ist mann echt blind....

DeddyH 11. Mär 2013 07:02

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.
Seite 2 von 2     12   

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