AGB  ·  Datenschutz  ·  Impressum  







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

Brauch mal Hilfe bei Tobjectlist

Ein Thema von Natcree · begonnen am 9. Mär 2013 · letzter Beitrag vom 11. Mär 2013
Antwort Antwort
Seite 2 von 2     12   
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#11

AW: Brauch mal Hilfe bei Tobjectlist

  Alt 10. Mär 2013, 02:04
type
TIrgendwas = class
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#12

AW: Brauch mal Hilfe bei Tobjectlist

  Alt 10. Mär 2013, 02:07
type
TIrgendwas1 = class

FIrgendwas1 gehört zu dieser class
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#13

AW: Brauch mal Hilfe bei Tobjectlist

  Alt 10. Mär 2013, 02:08
Wenn diese Abfrage #1 in Form1 steht dann ist

  if Form7.Showmodal = mrOK then soweit in Ordnung.

Sehe mir mal kurz noch form7 an ob ich da was finde..
Ja steht Sie
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#14

AW: Brauch mal Hilfe bei Tobjectlist

  Alt 10. Mär 2013, 02:09
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;
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 4. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#15

AW: Brauch mal Hilfe bei Tobjectlist

  Alt 10. Mär 2013, 03:29
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 + '';
      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;
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ß
Volker Zeller

Geändert von Volker Z. (10. Mär 2013 um 03:37 Uhr)
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#16

AW: Brauch mal Hilfe bei Tobjectlist

  Alt 10. Mär 2013, 20:46
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???
Miniaturansicht angehängter Grafiken
1.jpg  
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#17

AW: Brauch mal Hilfe bei Tobjectlist

  Alt 10. Mär 2013, 22:17
Gib deinen Variablen mal vernünftige Bezeichner.

Wahrscheinlich hast du irgendwo ein irgendwas mit irgendwas1 verwechselt oder gar irgendwo irgendwas := irgendwas1 stehen.
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#18

AW: Brauch mal Hilfe bei Tobjectlist

  Alt 10. Mär 2013, 22:29
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
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#19

AW: Brauch mal Hilfe bei Tobjectlist

  Alt 10. Mär 2013, 22:43
habe den Fehler gefunden

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

Fgesamt1 := Form7.irgendwas1.summe1;
Danke für den tip manchmal ist mann echt blind....
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#20

AW: Brauch mal Hilfe bei Tobjectlist

  Alt 11. Mär 2013, 08:02
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 16:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz