Ich bin eine mittlere WinForms-Anwendung codieren ... hin und wieder bei der Erstellung bestimmter Formulare ich bekomme diese Ausnahme.'System.OutOfMemoryException': Fehler beim Erstellen des Fensterhandle
ich es in der Vergangenheit gelöst, aber ohne richtigen udnerstanding das, was los ist ...
Der rätselhafte Teil ist, dass alles in Ordnung gestern gearbeitet, als ich diese Form finnished und es getestet, jetzt bekomme ich dies:
Eine nicht behandelte Ausnahme des Typs 'System.OutOfMemoryException' aufgetreten in System.Windows.Forms.dll
Zusätzliche Informationen: Fehler Fenstergriff zu schaffen.
Ausnahme ist in diesem Block von Code ausgelöst:
public partial class PonovniIspisRacunaForm : Form
{
DataTable dnevniPrometTable;
DataTable kontrolnaTrakaTable;
DataTable ukupniDnevniPrometTable;
DataTable stavkeRacunaTable;
ZisCode.Hibernate.Mdb.DataModel dnevniPrometDataModel;
ZisCode.Hibernate.Mdb.DataModel kontrolnaTrakaDataModel;
OsnovniPodaci.Porezi.Stope stope;
string brojRacuna;
string ZKI;
string JIR;
string Operator;
//decimal ukupno = 0.00m;
decimal tarifa;
decimal kolicina;
decimal iznos;
decimal porez;
decimal porez25;
decimal porez05;
decimal porez13;
decimal povratnaUkupno;
decimal osnov25;
decimal osnov05;
decimal osnov13;
//decimal nabavna;
PrintDocument printDocument;
public PonovniIspisRacunaForm()
{
InitializeComponent();
}
private void FinancijskiRekapitular_Load(object sender, EventArgs e)
{
stope = new OsnovniPodaci.Porezi.Stope();
// popunjava današnji datum
this.dtpDatum.Value = DateTime.Today;
// Get Data Table za određeni datum:
dnevniPrometDataModel = ZisCode.DataModels.Get("DnevniPromet");
kontrolnaTrakaDataModel = ZisCode.DataModels.Get("KontrolnaTraka");
PrintSetup();
ukupniDnevniPrometTable = MergeDnevniKontrolna();
if (ukupniDnevniPrometTable.Rows.Count != 0)
{
FillComboBox();
}
}
private void FillComboBox()
{
cbBrojRacuna.DataSource = ZisCode.Methods.DataTableOperations.SortDataTable(ukupniDnevniPrometTable, "Dokument", "DESC") // orderbydescending
.AsEnumerable().GroupBy(row => row.Field<string>("Dokument")).Select(group => group.First()).CopyToDataTable(); // groupby brojRacuna-Dokument
cbBrojRacuna.DisplayMember = "Dokument"; // Broj Računa
cbBrojRacuna.ValueMember = "Dokument";
cbBrojRacuna.SelectedIndex = 0;
}
private void PrintSetup()
{
// priprema za ispis
printDocument = new PrintDocument();
printDocument.DefaultPageSettings.PaperSize = new PaperSize("Racun size", 295, 500);
printDocument.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(CreateRekapitular);
// uklanja poruku dialog box (printing ..) kod ispisa
PrintController printController = new StandardPrintController();
printDocument.PrintController = printController;
// popravlja font
printPreview.UseAntiAlias = true;
}
}
spezifischere diese Linie zu sein: this.dtpDatum.Value = DateTime.Today; Warum? Ich habe keine Ahnung ...
Ich habe versucht, dateTimePicker im Konstruktor und ich habe verschiedene Ausnahme ohne Bezug zu Fenstergriff.
Ich habe über diesen Fall auf andere Fragen gelesen, aber nichts hat wirklich für mich geklickt.
Winforms issue - Error creating window handle
Diese beiden Antworten helfen mir nicht, da Antworten auf mehrdeutig sind und erwarten, dass ich angeblich wissen, wie entsorgen ist in erster Linie zu arbeiten. Hilfe, ich bin ein n00b!
UPDATE Geschrieben Fast alle Code der Klasse als ich
Können Sie einen Code für PrintSetup und FillComboBox() hinzufügen? Haben Sie einige allgemeine Variablen und was machen Sie beim Schließen des Formulars? –
@WaiFungAuYeung Ja, ich habe eine Menge Variablen und beim Schließen des Formulars habe ich nicht zur Verfügung lol wie soll ich es tun? Obwohl diese Ausnahme beim Laden des Formulars ausgelöst wird – ChenChi
Ich aktualisierte die Frage mit mehr Code – ChenChi