Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Arraywert in einen anderen Array??? Wie? (https://www.delphipraxis.net/56606-arraywert-einen-anderen-array-wie.html)

mosquito 8. Nov 2005 17:24

Re: Arraywert in einen anderen Array??? Wie?
 
also wenn ich diese zeile:
Kxa[b]:=Kxa[a];
eingebe und das prog ausführe, dann kommt eine message:

Im Projekt Project1.exe ist eine Exception der Klasse EAccenessViolation aufgetreten. MEldung:
"Zugriffsverletztung bei Adresse 00... usw. im Modul Project1.exe". Lese Adresse 00.. usw.. Prozess
wurde angehalten...

mehr weis ich nicht

Sharky 8. Nov 2005 17:26

Re: Arraywert in einen anderen Array??? Wie?
 
Hai mosquito,

zeige doch mal wie dein Array deklariert ist. Und dann den gesamten Code in dem Du die Werte kopieren möchtest.
Alles andere ist ein versuch im trüben zu fischen.

Neutral General 8. Nov 2005 17:27

Re: Arraywert in einen anderen Array??? Wie?
 
Was für eine Art von Array ist das überhaupt und ist dein Array überhaupt (min) b groß ?

hanselmansel 8. Nov 2005 17:28

Re: Arraywert in einen anderen Array??? Wie?
 
Du musst bei Arrays aufpassen, dass du nicht auf eine Zelle zugreifst, die nicht existiert. Wenn das Array statisch nur als
Delphi-Quellcode:
Array[0..9] of TMyType
deklariert ist, dann kannst du mies auf Zelle 35 zugreifen, da diese in diesem Fall nicht existiert. Da musst du beachten, wenn du mit a und b rumspielst. :thumb:

mosquito 8. Nov 2005 17:30

Re: Arraywert in einen anderen Array??? Wie?
 
also ich hab...

Kxa,Kya,Kxb,Kyb: array of integer;

....

setlength(Kxa, 10);
setlength(Kya, 10);
setlength(Kxb, 10);
setlength(Kyb, 10);


....

a:=0;
b:=2;

....

Kxa[b]:=Kxa[a];//hier
Kxb[b]:=Kxa[a]+10;//und hier gehts nicht weiter...
image1.canvas.brush.Color:=clgreen;
image1.Canvas.rectangle(Kxa[b],Kya[b],Kxb[b],Kyb[b]);

hanselmansel 8. Nov 2005 17:33

Re: Arraywert in einen anderen Array??? Wie?
 
Hat nichts mit derLösung deines momentanen Problems zu tun, aber wenn du die Größe der Arrays nicht zur Laufzeit verändern willst, dann benutze
Delphi-Quellcode:
Kxa,Kya,Kxb,Kyb :Array[0..9] of integer;
das ist weniger Schreibarbeit und sieht einfach besser aus. :)

mosquito 8. Nov 2005 17:36

Re: Arraywert in einen anderen Array??? Wie?
 
es kann sein, dass ich haber 100 oder so brauche und daher muss ich ein dynamisches verwenden

Sharky 8. Nov 2005 17:44

Re: Arraywert in einen anderen Array??? Wie?
 
Ich kann in dem was Du zeigst keinen Fehler erkennen.

Hier mein DemoCode:
Delphi-Quellcode:
var
  Kxa, Kya, Kxb, Kyb: array of integer;

procedure TDemoForm.FormCreate(Sender: TObject);
begin
  setlength(Kxa, 10);
  setlength(Kya, 10);
  setlength(Kxb, 10);
  setlength(Kyb, 10);
end;

procedure TDemoForm.btn_CopyArrayClick(Sender: TObject);
var
  a: integer;
  b: integer;
begin
  a := 0;
  b := 2;
  Kxa[b] := Kxa[a];
  Kxb[b] := Kxa[a] + 10;
end;

mosquito 8. Nov 2005 17:47

Re: Arraywert in einen anderen Array??? Wie?
 
aber leider genau an der stelle
Kxa[b] := Kxa[a];
hat er das problem,
also ich kann es komilieren, aber der Fehler kommt erst, wenn das prog zu genau dieser Stelle kommt, dann springt Delphi dahin, zeigts mir an und die Fehlermeldung kommt...
heul

hanselmansel 8. Nov 2005 17:48

Re: Arraywert in einen anderen Array??? Wie?
 
Du könntest einen Breakpoint in die Zeile vor dem Crach setzten, das Progrämmchen laufen lassen, und gucken welche Werte die einzelnen Variablen an der entsprechenden Stelle haben. Vieleicht hast du ja ausversehns a oder b erhöht oder das Array gelöscht. Weiß der Kuckuck. Damit solltest du den Fehler normalerweise finden...


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:13 Uhr.
Seite 2 von 3     12 3      

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