AGB  ·  Datenschutz  ·  Impressum  







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

Unknown Error Hilfe?!

Ein Thema von St0rmhunter · begonnen am 16. Jan 2012 · letzter Beitrag vom 19. Jan 2012
Antwort Antwort
St0rmhunter

Registriert seit: 20. Aug 2011
24 Beiträge
 
#1

Unknown Error Hilfe?!

  Alt 16. Jan 2012, 22:05
Delphi-Version: 5
Hallo Leute,

ich habe hier ein Problem immer wenn ich mein Programm starte kommt ein "Unknown Error". Vielleicht könnt ihr mir helfen indem ich hier mal den code poste. Ich bedanke mich schonmal im voraus Wenn ihr mehr Infos braucht sagts

Unit1:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var i,z: Integer;
    e: boolean;
begin
  bank1:=TBank.create;
  //Zufallskonten
  randomize;
  e:=true;
  i:=0;
  bank1.kerstellen(memo1.lines[z],random(10000));
  listbox1.Items[i]:=inttostr(bank1.konten[i].knummer);
  listbox2.Items[i]:=bank1.konten[i].kinhaber;
  listbox3.Items[i]:=inttostr(bank1.konten[i].kstand);
  i:=i+1;
  while i<100 do
  begin
    z:=random(memo1.lines.Count);
    if bank1.konten[i].kinhaber = memo1.Lines[z] then
    begin
      e:=false;
    end;
    if e=true then
    begin
      bank1.kerstellen(memo1.lines[z],random(10000));
      listbox1.Items[i]:=inttostr(bank1.konten[i].knummer);
      listbox2.Items[i]:=bank1.konten[i].kinhaber;
      listbox3.Items[i]:=inttostr(bank1.konten[i].kstand);
      i:=i+1;
    end;
  end;
  label7.caption:='Konten: ' + inttostr(length(bank1.konten));
end;
bank (Unit2):
Delphi-Quellcode:
type
  TBank = class
       konten: array of TKonto;
       constructor create;
       procedure Kerstellen(inhaber:string;kstand:integer);
  end;

implementation

constructor TBank.create;
begin
  setlength(konten,0);
end;

procedure TBank.Kerstellen(inhaber:string;kstand:Integer);
begin
  setlength(konten,(length(konten)+1));
  konten[high(konten)] := TKonto.create(inhaber,length(konten),kstand);
end;
konto (Unit3):
Delphi-Quellcode:
type
  TKonto = class
         kstand,knummer: Integer;
         kinhaber: String;
         constructor create(i:string;n,s:integer);
         procedure abheben(betrag:Integer);
         procedure einzahlen(betrag:Integer);
  end;

implementation

constructor TKonto.create(i:string;n,s:integer);
begin
  kinhaber:=i;
  kstand:=s;
  knummer:=n;
end;
Nochmals danke im voraus =)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#2

AW: Unknown Error Hilfe?!

  Alt 16. Jan 2012, 22:13
Den Listboxen würde ich auch mal Items spendieren. So mit Add z.B.
  Mit Zitat antworten Zitat
St0rmhunter

Registriert seit: 20. Aug 2011
24 Beiträge
 
#3

AW: Unknown Error Hilfe?!

  Alt 16. Jan 2012, 22:43
Ach mann bin ich blöd ^^ ... danke das wars =)

Dann noch grad eine Frage: Wie kann ich es in listboxen machen, dass die Scrollbars wenn ich auf ein item klicke immer die gleiche Position haben und es nicht so aussieht wie hier (siehe Anhang)
Miniaturansicht angehängter Grafiken
bsp.jpg  
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Unknown Error Hilfe?!

  Alt 16. Jan 2012, 22:46
Warum nimmst du kein Grid?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#5

AW: Unknown Error Hilfe?!

  Alt 16. Jan 2012, 23:24
Welche Delphiversion nutzt du und der Fehler heißt wirklich "Unknown Error"?

Den Listboxen würde ich auch mal Items spendieren. So mit Add z.B.
Die Bank könnte auch mehr Konten benötigen.

Du hast nur 1 Konto erstellt, willst aber auf 100 Konten zugreifen.

Es kann auch nicht schaden, wenn man auf den Compiler hört.
Zitat:
[DCC Warnung] ...: W1036 Variable '...' ist möglicherweise nicht initialisiert worden
Und den Fehler, mit den fehlenden Konten, würde man bemerken, wenn man die Bereichsprüfung in den Projektoptionen aktiviert.


PS: Es gibt schon Themen ala "Memos/Listboxen synchron scrollen" ... man muß sie nur suchen.
Außerdem: Nur eine Frage pro Thread.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (17. Jan 2012 um 16:43 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Unknown Error Hilfe?!

  Alt 17. Jan 2012, 07:03
Außerdem:
Zitat:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var i,z: Integer;
    e: boolean;
begin
  ...
  bank1.kerstellen(memo1.lines[z],random(10000)); //Welchen Wert hat z hier?
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
St0rmhunter

Registriert seit: 20. Aug 2011
24 Beiträge
 
#7

AW: Unknown Error Hilfe?!

  Alt 17. Jan 2012, 21:00
@mkinzler Mit Grids kenne ich mich nicht aus

@himitsu 1.
Zitat:
Du hast nur 1 Konto erstellt, willst aber auf 100 Konten zugreifen.
Das stimmt nicht ich habe eine while schleife eingebaut die 100 mal durchläuft und die Prozedur bank1.kerstellen(memo1.lines[z],random(10000)); ausführt, welche immer wieder ein neues Konto erstellt.

2. Was ist die Bereichspfüfung?

3. ok dann such ich mal, dachte nur ich könnte das gerade in einem erledigen

@DeddyH z wird jedesmal neu definiert (per Zufall, ein Wert zwischen 0 und der Linesanzahl des memo1)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Unknown Error Hilfe?!

  Alt 17. Jan 2012, 21:13
Zitat:
@mkinzler Mit Grids kenne ich mich nicht aus
Das kann man ändern
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#9

AW: Unknown Error Hilfe?!

  Alt 17. Jan 2012, 22:23
Das stimmt nicht ich habe eine while schleife eingebaut die 100 mal durchläuft und die Prozedur bank1.kerstellen(memo1.lines[z],random(10000)); ausführt, welche immer wieder ein neues Konto erstellt.
Dein Code in Beitrag #1 sagt da aber was Anderes.

@DeddyH z wird jedesmal neu definiert (per Zufall, ein Wert zwischen 0 und der Linesanzahl des memo1)
Hier sagt ebenfalls das in Beitrag #1 Gezeigte was Anderes.
Mein Compiler würde zu dem Z Folgendes sagen.
Zitat:
[DCC Warnung] ...: W1036 Variable '...' ist möglicherweise nicht initialisiert worden
Welche Delphiversion nutzt du und der Fehler heißt wirklich "Unknown Error"?
?

2. Was ist die Bereichspfüfung?
Projektoptionen > Compiler > Laufzeitfehler > Bereichsprüfung und Überlaufprüfung
(ich bin mir aber sicher, daß F1 dort nicht stumm bleibt)

Diese Optionen sagen dem Compiler, daß er zusätzlichen Prüfcode generieren soll.
- Bereichsprüfung > schaut ob Überläufe in Berechnungen auftreten (z.B. der Wert einer Berechnung zu groß wird un nicht mehr in die Variable paßt)
- Überlaufprfung > prüft den Index, bei Array-Zugriffen, also daß nicht außerhalb des Arrays zugegriffen wird (auf Index 5 zugreifen, aber nur 3 Elemente im Array vorhanden)

Delphi-Quellcode:
var
  A: array of Integer;

SetLength(A, 3);
A[5] := 666;
Und jetzt mal mit und ohne aktivierter Bereichsprüfung ausprobieren.

Oder
Delphi-Quellcode:
var
  A: array of Integer;
  i: Integer;

SetLength(A, 3);
for i := 0 to Length(A) do // ein oft auftretender Fehler > for i := 0 to 3 do
  A[i] := 666;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
St0rmhunter

Registriert seit: 20. Aug 2011
24 Beiträge
 
#10

AW: Unknown Error Hilfe?!

  Alt 19. Jan 2012, 16:45
1. Delphi 7 und ja bei mir steht unknown error

2.Danke für eure Hilfe, der Fehler kam dadurch zustande das ein Konto mehr als einmal erstellt wurde. Habe die Erstellung aus der Schleife genommen und jetzt klappts
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:38 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