![]() |
Brauch mal Hilfe bei Tobjectlist
was ist hier falsch wenn ich in form7 mein Button zur eingabe mache dann schmeisst er mich mit fehler raus und vermeist mich auf
Delphi-Quellcode:
raus hier mal der code
if form7.showmodal = ......
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; 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; |
AW: Brauch mal Hilfe bei Tobjectlist
Liste der Anhänge anzeigen (Anzahl: 1)
hier mal ein bild
|
AW: Brauch mal Hilfe bei Tobjectlist
Weise dem Button im OI das ModalResult MrOk zu und formuliere:
Delphi-Quellcode:
if ModalResult = mrOK then
|
AW: Brauch mal Hilfe bei Tobjectlist
wo mache ich das im oi finde da nichts ist ein speed button
|
AW: Brauch mal Hilfe bei Tobjectlist
habe nen anderen button genommen kommt immer noch fehler
|
AW: Brauch mal Hilfe bei Tobjectlist
Hallo,
vermutlich scheppert es bereits irgendwo in Form7 und die Exception wird nur bis an die "blau markierte" Stelle im Programmcode "durchgereicht". Was passiert den in Form7? Quellcode wäre hilfreich. Gruß |
AW: Brauch mal Hilfe bei Tobjectlist
Delphi-Quellcode:
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, ElPanel, ElClock, LMDBaseControl, LMDBaseGraphicControl, LMDGraphicControl, LMDLEDCustomLabel, LMDLEDLabel, LMDControl, LMDCustomControl, LMDCustomPanel, LMDCustomBevelPanel, LMDBaseEdit, LMDCustomEdit, LMDCustomMaskEdit, LMDCalculatorEdit, ElPgCtl, ElXPThemedControl, LMDCalendarEdit, ComCtrls, LMDCustomShapeButton, LMDShapeButton, LMDBaseGraphicButton, LMDCustomMMButton, LMDMMButton, StdCtrls, LMDCustomButton, LMDButton, ElComponent, ElCalc, ElEdits, ElBtnEdit, ElCalculatorEdit, LMDCustomExtCombo, LMDCalculatorComboBox, LMDDBCalculatorComboBox, DBCtrls, Mask, Buttons, Grids,comobj, ElTreeInplaceEditors, ElTree, ElTreeGrids,uSharedClass; type TForm7 = class(TForm) ElPageControl1: TElPageControl; ElTabSheet1: TElTabSheet; ElTabSheet2: TElTabSheet; LMDShapeButton1: TLMDShapeButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; LMDShapeButton2: TLMDShapeButton; Button1: TButton; Button2: TButton; Label6: TLabel; Label7: TLabel; LMDShapeButton3: TLMDShapeButton; Label8: TLabel; Label9: TLabel; Label10: TLabel; LMDShapeButton4: TLMDShapeButton; SpeedButton1: TSpeedButton; DateTimePicker1: TDateTimePicker; SpeedButton2: TSpeedButton; DateTimePicker2: TDateTimePicker; Edit1: TEdit; Edit2: TEdit; Memo1: TMemo; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Memo2: TMemo; Edit7: TEdit; Edit8: TEdit; Button3: TButton; Label11: TLabel; StringGrid1: TStringGrid; Edit9: TEdit; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure DateTimePicker1Change(Sender: TObject); procedure DateTimePicker2Change(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); procedure LMDDBCalculatorComboBox2Change(Sender: TObject); procedure LMDDBCalculatorComboBox1Change(Sender: TObject); procedure LMDShapeButton1Click(Sender: TObject); procedure LMDShapeButton3Click(Sender: TObject); procedure LMDShapeButton4Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure LMDShapeButton2Click(Sender: TObject); procedure FormShow(Sender: TObject); procedure ElPageControl1Change(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure FormDestroy(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } FIrgendwas: TIrgendwas; FIrgendwas1: TIrgendwas1; public { Public declarations } property Irgendwas: TIrgendwas read FIrgendwas; property Irgendwas1: TIrgendwas1 read FIrgendwas1; end; var Form7: TForm7; implementation uses Unit1, Unit8; {$R *.dfm} procedure TForm7.FormCreate(Sender: TObject); begin elpagecontrol1.ActivePageIndex:=0; datetimepicker1.DateTime := now; edit1.Text:=''; edit4.Text:=''; edit3.Text:=''; edit2.Text:=''; memo1.Text:=''; End; function Xls_To_StringGrid(AGrid: TeltreeStringGrid; AXLSFile: string): Boolean; const xlCellTypeLastCell = $0000000B; var XLApp, Sheet: OLEVariant; RangeMatrix: Variant; x, y, k, r: Integer; begin Result := False; XLApp := CreateOleObject('Excel.Application'); try XLApp.Visible := False; XLApp.Workbooks.Open(AXLSFile); Sheet := XLApp.Workbooks[ExtractFileName(AXLSFile)].WorkSheets[1]; Sheet.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate; x := XLApp.ActiveCell.Row; y := XLApp.ActiveCell.Column; AGrid.RowCount := x; AGrid.ColCount := y; RangeMatrix := XLApp.Range['A1', XLApp.Cells.Item[X, Y]].Value; k := 1; repeat for r := 1 to y do AGrid.Cells[(r ), (k )] := RangeMatrix[K, R]; Inc(k, 1); AGrid.RowCount := k + 1; until k > x; RangeMatrix := Unassigned; finally if not VarIsEmpty(XLApp) then begin XLApp.Quit; XLAPP := Unassigned; Sheet := Unassigned; Result := True; end; end; end; function RefToCell(ARow, ACol: Integer): string; begin Result := Chr(Ord('A') + ACol - 1) + IntToStr(ARow); end; function SaveAsExcelFile1(AGrid: TStringGrid; ASheetName, AFileName: string): Boolean; const xlWBATWorksheet = -4167; var XLApp, Sheet, Data: OLEVariant; i, j: Integer; begin // Prepare Data Data := VarArrayCreate([1, AGrid.RowCount, 1, AGrid.ColCount], varVariant); for i := 0 to AGrid.ColCount - 1 do for j := 0 to AGrid.RowCount - 1 do Data[j + 1, i + 1] := AGrid.Cells[i, j]; // Create Excel-OLE Object Result := False; XLApp := CreateOleObject('Excel.Application'); try // Hide Excel XLApp.Visible := False; // Add new Workbook XLApp.Workbooks.Add(xlWBatWorkSheet); Sheet := XLApp.Workbooks[1].WorkSheets[1]; Sheet.Name := ASheetName; // Fill up the sheet Sheet.Range[RefToCell(1, 1), RefToCell(AGrid.RowCount, AGrid.ColCount)].Value := Data; // Save Excel Worksheet try XLApp.Workbooks[1].SaveAs(AFileName); Result := True; except // Error ? end; finally // Quit Excel if not VarIsEmpty(XLApp) then begin XLApp.DisplayAlerts := False; XLApp.Quit; XLAPP := Unassigned; Sheet := Unassigned; end; end; end; function SaveAsExcelFile(AGrid: Teltreestringgrid; ASheetName, AFileName: string): Boolean; const xlWBATWorksheet = -4167; var Col: Integer; GridPrevFile: string; XLApp, Sheet, Data: OLEVariant; i, j: Integer; begin // Prepare Data Data := VarArrayCreate([1, AGrid.RowCount, 1, AGrid.ColCount], varVariant); for i := 0 to AGrid.ColCount - 1 do for j := 0 to AGrid.RowCount - 1 do Data[j + 1, i + 1] := AGrid.Cells[i, j]; // Create Excel-OLE Object Result := False; XLApp := CreateOleObject('Excel.Application'); try // Hide Excel XLApp.Visible := False; // Add new Workbook XLApp.Workbooks.Add(xlWBatWorkSheet); Sheet := XLApp.Workbooks[1].WorkSheets[1]; Sheet.Name := ASheetName; // Fill up the sheet Sheet.Range[RefToCell(1, 1), RefToCell(AGrid.RowCount, AGrid.ColCount)].Value := Data; // Save Excel Worksheet try XLApp.Workbooks[1].SaveAs(AFileName); Result := True; except // Error ? end; finally // Quit Excel if not VarIsEmpty(XLApp) then begin XLApp.DisplayAlerts := False; XLApp.Quit; XLAPP := Unassigned; Sheet := Unassigned; end; end; end; procedure TForm7.Button1Click(Sender: TObject); begin close; end; procedure TForm7.SpeedButton1Click(Sender: TObject); begin datetimepicker1.Visible:=true; DateTimePicker1.Perform(WM_KEYDOWN, VK_F4, 0); end; procedure TForm7.DateTimePicker1Change(Sender: TObject); begin datetimepicker1.Visible:=false; edit5.Text:=datetostr(datetimepicker1.Date); end; procedure TForm7.DateTimePicker2Change(Sender: TObject); begin datetimepicker2.Visible:=false; edit1.Visible:=true; edit1.Text:=datetostr(datetimepicker2.Date); end; procedure TForm7.SpeedButton2Click(Sender: TObject); begin edit1.Visible:=false; datetimepicker2.Visible:=true; DateTimePicker2.Perform(WM_KEYDOWN, VK_F4, 0); end; procedure TForm7.LMDDBCalculatorComboBox2Change(Sender: TObject); begin edit3.Text:=''; end; procedure TForm7.LMDDBCalculatorComboBox1Change(Sender: TObject); begin edit3.text:=''; end; function Xls_To_StringGrid1(AGrid: TStringGrid; AXLSFile: string): Boolean; const xlCellTypeLastCell = $0000000B; var XLApp, Sheet: OLEVariant; RangeMatrix: Variant; x, y, k, r: Integer; begin Result := False; XLApp := CreateOleObject('Excel.Application'); try XLApp.Visible := False; XLApp.Workbooks.Open(AXLSFile); Sheet := XLApp.Workbooks[ExtractFileName(AXLSFile)].WorkSheets[1]; Sheet.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate; x := XLApp.ActiveCell.Row; y := XLApp.ActiveCell.Column; AGrid.RowCount := x; AGrid.ColCount := y; RangeMatrix := XLApp.Range['A1', XLApp.Cells.Item[X, Y]].Value; k := 1; repeat for r := 1 to y do AGrid.Cells[(r-1 ), (k-1 )] := RangeMatrix[K, R]; Inc(k, 1); AGrid.RowCount := k + 1; until k > x; RangeMatrix := Unassigned; finally if not VarIsEmpty(XLApp) then begin XLApp.Quit; XLAPP := Unassigned; Sheet := Unassigned; Result := True; end; end; end; procedure TForm7.LMDShapeButton1Click(Sender: TObject); begin form8.Label2.Caption:=''; form8.show; end; procedure TForm7.LMDShapeButton3Click(Sender: TObject); begin form8.Label2.Caption:='a'; form8.show; end; procedure TForm7.LMDShapeButton4Click(Sender: TObject); var i,p : integer; begin repeat form1.eltreeStringGrid1.Cols[1]; // die 2. Spalte p := form1.eltreeStringGrid1.Cols[1].IndexOf('1'); // suche nach "rot" if p >= 0 then edit8.Text:=inttostr(p+1); // ersetzen until p < 0; end; procedure TForm7.FormClose(Sender: TObject; var Action: TCloseAction); begin if ModalResult <> mrOK then FreeAndNil(FIrgendwas); if ModalResult <> mrOK then FreeAndNil(FIrgendwas1); end; procedure TForm7.LMDShapeButton2Click(Sender: TObject); var i,k : integer; begin for i:=0 to form1.eltreestringgrid1.rowcount-1 do begin //reihenbis zur letzten durchsuchen if form1.eltreeStringGrid1.Cells[1,i]=''//wenn spalte 2 leer ist dann then edit4.text:='1'// edit4.text ist gleich die zahl 1 else //sonst k:=strtoint(form1.eltreeStringGrid1.Cells[1,i]); // k ist die gefundene Zahl in der zelle edit4.text:=inttostr(k+1); // edit4.text ist dann die gefundene Zahl + 1 end; end; procedure TForm7.FormShow(Sender: TObject); begin edit9.Text:=form1.ElTreeStringGrid1.Cells[4,form1.ElTreeStringGrid1.Row-1]; FIrgendwas := TIrgendwas.Create; if label11.caption='' then elpagecontrol1.ActivePageIndex:=0; if elpagecontrol1.ActivePageIndex=1 then button2.Visible:=false; if elpagecontrol1.ActivePageIndex=1 then button3.Visible:=true; if elpagecontrol1.ActivePageIndex=0 then button3.Visible:=false; if elpagecontrol1.ActivePageIndex=0 then button2.Visible:=true; end; procedure TForm7.ElPageControl1Change(Sender: TObject); begin if elpagecontrol1.ActivePageIndex=1 then button2.Visible:=false; if elpagecontrol1.ActivePageIndex=1 then button3.Visible:=true; if elpagecontrol1.ActivePageIndex=0 then button3.Visible:=false; if elpagecontrol1.ActivePageIndex=0 then button2.Visible:=true; end; procedure TForm7.Button2Click(Sender: TObject); begin form1.eltreestringgrid1.cells[0,form1.ElTreeStringGrid1.Row]:=edit1.text; try FIrgendwas.ErsteZahlAsString := edit3.Text; try FIrgendwas.ZweiteZahlAsString := 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); edit3.SetFocus; edit3.SelectAll; end; end; end; procedure TForm7.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin if ModalResult <> mrOK then FreeAndNil(FIrgendwas); end; procedure TForm7.FormDestroy(Sender: TObject); begin if ModalResult <> mrOK then FreeAndNil(FIrgendwas); end; procedure TForm7.Button3Click(Sender: TObject); begin form1.eltreestringgrid1.cells[0,form1.ElTreeStringGrid1.Row]:=edit5.text; try FIrgendwas1.ErsteZahl1AsString := edit7.Text; 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; end. |
AW: Brauch mal Hilfe bei Tobjectlist
müsste an der zweiten objecktlist liegen vorher mit der ersten ging es
|
AW: Brauch mal Hilfe bei Tobjectlist
Wenn diese Abfrage #1 in Form1 steht dann ist
Delphi-Quellcode:
soweit in Ordnung.
if Form7.Showmodal = mrOK then
Sehe mir mal kurz noch form7 an ob ich da was finde.. |
AW: Brauch mal Hilfe bei Tobjectlist
Ist FIrgendwas1 erzeugt und was ist eigentlich TIrgendwas?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:36 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