|
Registriert seit: 15. Jul 2007 76 Beiträge |
#1
Hallo zusammen.
Genau diese Fehlermeldung erhalte ich seit heute morgen, wenn diese Procedure starte:
Delphi-Quellcode:
Ich weiß, dazu gibt es hier viele Beträge. Allerdings haben die alle meist etwas mit Grafik oder Canvas zu tun. Dies ist bei mit nicht der Fall. Wie man sehen kann, lasse ich die aktuelle Systemfehlermeldung direkt als Erstes nach dem Klick auf den Button ausgeben. Das Merkwürdige ist, dass nach der Fehlermeldung alle Befehle ordnungsgemäß ausgeführt werden. Ich frage mich, warum auf Speicherknappheit hingewiesen wird und warum dann trotzdem alles läuft. Weiß jemand einen Rat?
procedure TdiktatNeuDLG.satzEintragenClick(Sender: TObject);
var keineKatZWVorhanden: boolean; x: integer; begin ShowMessage(SysErrorMessage(GetLastError)); keineKatZWVorhanden:=false; if Memo1.Text<>'' then begin if begrenzer<=15 then begin while length(Memo1.Text) > 0 do begin if pos(' ', Memo1.Text)<>0 then begin seObjekt1.dikNeuSilben:=0; Text1:=copy(Memo1.Text, 1, pos(' ',Memo1.Text)); Text1:=copy(Memo1.Text, 1, pos(' ',Memo1.Text)); delete(Text1, length(Text1), length(Text1));//Leerzeichen löschen szeichen:=copy(Text1, length(Text1), length(Text1)); if (szeichen='.') or (szeichen=',') or (szeichen='!') or (szeichen='?') or (szeichen=':') or (szeichen=';')then begin delete(Text1, length(Text1), length(Text1));//Satzzeichen entfernen end; Text2:=Memo1.Text; delete(Text2, 1, pos(' ',Memo1.Text)); Memo1.Text:=Text2; eintragWort; if (szeichen='.') or (szeichen=',') or (szeichen='!') or (szeichen='?') or (szeichen=':') or (szeichen=';')then begin seObjekt1.wortID:=seObjekt1.wortID+1; eintragSatzzeichen; prgrammdb.DikNeuSatzEintrag.Prior; end; katAuswahlDLG:=TkatAuswahlDLG.Create(self); if katAuswahlDLG.showModal=mrOk then begin katAuswahlDLG.free; end; //KatZuordnung; // KatAbfrage;//Prüfung, ob Kat zugeordnet soll, dann Zuordnung der Kat. //Silbenfenster öffnen~~~~~~~~~~~~~~~~~~~~~~~~~ silbenDLG:=TsilbenDLG.Create(self); if silbenDLG.showModal=mrOk then begin silbenDLG.free; end; try prgrammdb.silben.Open; except messageDLG('Fehler 1', mtError, [mbOK], 0); end; if not prgrammdb.silben.IsEmpty then begin for x := 1 to prgrammdb.silben.RecordCount do begin if prgrammdb.silben.RecordCount > 1 then begin try prgrammdb.DikNeuSatzEintrag.Last; prgrammdb.DikNeuSatzEintrag.Insert; prgrammdb.DikNeuSatzEintragDiktatID.Value:=prgrammdb.dikNeuEintragID.Value; prgrammdb.DikNeuSatzEintragWort.Value:=prgrammdb.silbenSilbe.Value; prgrammdb.DikNeuSatzEintragSatzID.Value:=j; prgrammdb.DikNeuSatzEintragWortID.Value:=seObjekt1.wortID; prgrammdb.DikNeuSatzEintragSilbenID.Value:=x; prgrammdb.DikNeuSatzEintrag.Post; except messageDLG('Fehler 2', mtError, [mbOK], 0); end; end; //KatZuordnung; //showmessage('x: '+inttostr(x)+' silbe: '+prgrammdb.silbenSilbe.Value+' WortID: '+inttostr(seObjekt1.wortID)); prgrammdb.silben.Next; end; prgrammdb.silben.First; while not prgrammdb.silben.Eof do prgrammdb.silben.Delete; prgrammdb.silben.Close; editSilbenID; end; end else begin Text1:=copy(Memo1.Text, 1, length(Memo1.Text)); szeichen:=copy(Text1, length(Text1), length(Text1)); if szeichen=' ' then delete(Text1, length(Text1), length(Text1)); szeichen:=copy(Text1, length(Text1), length(Text1)); if szeichen=' ' then delete(Text1, length(Text1), length(Text1)); if (szeichen='.') or (szeichen=',') or (szeichen='!') or (szeichen='?') or (szeichen=':') or (szeichen=';')then begin delete(Text1, length(Text1), length(Text1));//Satzzeichen entfernen end; Text2:=Memo1.Text; delete(Text2, 1, pos(' ',Memo1.Text)); Memo1.Text:=Text2; eintragWort; try prgrammdb.DikKeineKat.Open; except messageDLG('Fehler bei der Zusammenstellung der Wörter ohne Kategorie', mtError, [mbOK], 0); end; prgrammdb.DikKeineKat.First; while not prgrammdb.DikKeineKat.Eof do begin if text1 <> prgrammdb.DikKeineKatWort.Value then keineKatZWVorhanden:=true else begin keineKatZWVorhanden:=false; prgrammdb.DikKeineKat.Last; end; prgrammdb.DikKeineKat.Next; end; // if keineKatZWVorhanden then // begin // if MessageDLG('Soll das Wort '+'"'+Text1+'"'+' eine Kategoriezuweisung erhalten?', mtConfirmation,[mbYes, mbNo], 0)=mrNo then // begin // try // prgrammdb.DikKeineKatEintrag.Open; // prgrammdb.DikKeineKatEintrag.Insert; // prgrammdb.DikKeineKatEintragWort.Value:=Text1; // prgrammdb.DikKeineKatEintrag.Post; // prgrammdb.DikKeineKatEintrag.Close; // except // messageDLG('Fehler: Das Wort konnte nicht hinzugefügt werden!', mtError, [mbOK], 0); // end; // end // else KatZuordnung; // end; Memo1.Text:=''; //Silbenfenster beim letzten Wort öffnen~~~~~~~~~~~~~~~~~~~~~~ silbenDLG:=TsilbenDLG.Create(self); if silbenDLG.showModal=mrOk then begin silbenDLG.free; end; try prgrammdb.silben.Open; except messageDLG('Fehler 1', mtError, [mbOK], 0); end; if not prgrammdb.silben.IsEmpty then begin for x := 1 to prgrammdb.silben.RecordCount do begin if prgrammdb.silben.RecordCount > 1 then begin try prgrammdb.DikNeuSatzEintrag.Last; prgrammdb.DikNeuSatzEintrag.Insert; prgrammdb.DikNeuSatzEintragDiktatID.Value:=prgrammdb.dikNeuEintragID.Value; prgrammdb.DikNeuSatzEintragWort.Value:=prgrammdb.silbenSilbe.Value; prgrammdb.DikNeuSatzEintragSatzID.Value:=j; prgrammdb.DikNeuSatzEintragWortID.Value:=seObjekt1.wortID; prgrammdb.DikNeuSatzEintragSilbenID.Value:=x; prgrammdb.DikNeuSatzEintrag.Post; except messageDLG('Fehler 2', mtError, [mbOK], 0); end; end; //KatZuordnung; //showmessage('x: '+inttostr(x)+' silbe: '+prgrammdb.silbenSilbe.Value+' WortID: '+inttostr(seObjekt1.wortID)); prgrammdb.silben.Next; end; prgrammdb.silben.First; while not prgrammdb.silben.Eof do prgrammdb.silben.Delete; prgrammdb.silben.Close; editSilbenID; end; if (szeichen='.') or (szeichen=',') or (szeichen='!') or (szeichen='?') or (szeichen=':') or (szeichen=';')then begin seObjekt1.wortID:=seObjekt1.wortID+1; eintragSatzzeichen; prgrammdb.DikNeuSatzEintrag.Prior; end; end; seObjekt1.wortID:=seObjekt1.wortID+1; end; inc(j); Memo1.Text:=''; Memo1.SetFocus; inc(begrenzer); end else begin showmessage('Es können nicht mehr als 15 Sätze zu einem Diktat hinzugefügt werden.'+ #13+ 'Klicken Sie auf "Schließen", um das Diktat in einem zweiten Teil fortzusetzen.'); end; end else showmessage('Bitte geben Sie den Satz ein.'); prgrammdb.DikKeineKat.Close; prgrammdb.diktate.Close; prgrammdb.diktate.Open; end; |
![]() |
Ansicht |
![]() |
![]() |
![]() |
ForumregelnEs 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
|
|
Nützliche Links |
Heutige Beiträge |
Sitemap |
Suchen |
Code-Library |
Wer ist online |
Alle Foren als gelesen markieren |
Gehe zu... |
LinkBack |
![]() |
![]() |