AGB  ·  Datenschutz  ·  Impressum  







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

Probleme mit Array

Ein Thema von Tim Henford · begonnen am 3. Sep 2008 · letzter Beitrag vom 3. Sep 2008
Antwort Antwort
Tim Henford

Registriert seit: 14. Sep 2006
169 Beiträge
 
#1

Probleme mit Array

  Alt 3. Sep 2008, 14:05
Hallo,

ich habe folgenden Code:
Delphi-Quellcode:
type ZwMerker = record
  ToDo : String;
  Tabelle : String;
  wer : String;
  ID : String;
  Zeit : TDateTime;
end;

var
  merk : array of ZwMerker;
  LA : integer = 0;

procedure test(todo, Tabelle, Daten, id: string);
begin
...
  LA:= LA+1;
  SetLength(merk,LA);
  merk[LA].ToDo:= ToDo;
  merk[LA].Tabelle:= Tabelle;
  merk[LA].ID:= ID;
  merk[LA].wer:= PCName;
  merk[LA].Zeit:= now;
....
end;
Aber bei merk[LA].ID:= ID; hängt er sich immer auf, woran liegt das?

Danke Tim
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Probleme mit Array

  Alt 3. Sep 2008, 14:08
Wie groß ist merk? Was für einen Wert hat LA?
Markus Kinzler
  Mit Zitat antworten Zitat
Tim Henford

Registriert seit: 14. Sep 2006
169 Beiträge
 
#3

Re: Probleme mit Array

  Alt 3. Sep 2008, 14:14
Also die Test-Procedure wird immer auf Knopfdruck von Button1 ausgelöst und soll einfach die übergebenen Werte zwischenspeichern bis ein 2ter Button gedrückt wurde.
LA startet also mit 0 und wird jedesmal um 1 erhöht...

aber keine Ahnung wie groß merk ist oder wird, es sind immer Strings mit utnerschiedlicher Länge bis zu 1000 Zeichen...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Probleme mit Array

  Alt 3. Sep 2008, 14:19
LA ist doch der Index im Array.
Markus Kinzler
  Mit Zitat antworten Zitat
HenKst

Registriert seit: 7. Jul 2008
113 Beiträge
 
#5

Re: Probleme mit Array

  Alt 3. Sep 2008, 14:20
Dynamische arrays sind 0 basiert

Wenn du also setlength auf LA machst, ist das höchste Element LA-1.
Sollte sich also eigentlich schon bei
 merk[LA].ToDo:= ToDo; aufhängen.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Probleme mit Array

  Alt 3. Sep 2008, 14:24
Mach nur setlength(merk,LA+1); Und beim ersten mal sollte LA=0 sein, damit du keinen Platz verschenkst.


Zitat von HenKst:
Sollte sich also eigentlich schon bei
 merk[LA].ToDo:= ToDo; aufhängen.
Nö, der Fehler kommt irgendwann. Das ist das Problem bei den Arrays. Manchmal kommt er erst viel später und man kann dann ewig danach suchen. Du schreibst halt munter irgendwo unkoordiniert im Speicher rum und übertschreibst evtl. wichtige Sachen. Das Programm kracht dann erst, wenn du diese Sachen brauchst.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Tim Henford

Registriert seit: 14. Sep 2006
169 Beiträge
 
#7

Re: Probleme mit Array

  Alt 3. Sep 2008, 14:27
danke für die schnelle Hilfe.
ach das ist immer ein Murks mit 0 und 1
  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:43 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