![]() |
Integerrückgabewert zeigt 4444192 ?
Hey DBs, :hi:
ich hab mal wieder eine frage. Hier erstmal mein Quelltext:
Delphi-Quellcode:
unit Unit1;
... type ftabsave = ARRAY [0..100,1..2] of string; type fsystem = ARRAY [1..2] of integer; ... var Form1: TForm1; tabsave:ftabsave; systems:fsystem; zahl:integer; ... function TabSyneditSave(text:string;tabposition,cursorposition:integer):boolean; begin tabsave[tabposition,1]:=text; tabsave[tabposition,2]:=InttoStr(cursorposition); end; procedure TabSyneditLoad(tabposition:integer; var text:string; cursorposition:integer); begin text:=tabsave[tabposition,1]; cursorposition:=strtoint(tabsave[tabposition,2]); end; procedure TabSyneditManager(text:string;tabposition,cursorposition:integer; var newtext:string;newcursorposition:integer); begin TabSyneditSave(text,systems[1],cursorposition); TabSyneditLoad(tabposition,newtext,newcursorposition); systems[1]:=tabposition; end; so hier sind die 3 Funkionen oder Proceduren. mein Problem ist das bei Cursorposition (in der Procedure TabSyneditLoad) der wert z.b. auf 3 ist dann bei newcursorposition(in der procedure TabSyneditManager) auf 4444192. Warum ist das den so ? :? ich hab kein plan wo der fehler liegt :gruebel: |
Re: Integerrückgabewert zeigt 4444192 ?
Du must Cursorposition auch als 'var' uebergeben. Dann sollte es klappern.
|
Re: Integerrückgabewert zeigt 4444192 ?
Ich verstehe nicht was der Quelltext mit dem Titel des Threads zu tun hat? Wo ist da ein Rückgabewert?!? :gruebel:
Und in dem Quelltext hast du zwei verschiedene Variablen, die an verschiedene Funktionen übergeben werden. In TabSyneditLoad wird der Wert verändert und nie wieder genutzt. Ach so... ich glaube ich habe verstanden... var gilt nicht für die folgende Variable in TabSyneditLoad. Nur für den String. Ich glaube du meinst das so:
Delphi-Quellcode:
Aber warum keine Funktion mit einem echten Rückgabewert?
procedure TabSyneditLoad(tabposition:integer; var text:string; var cursorposition:integer);
begin text:=tabsave[tabposition,1]; cursorposition:=strtoint(tabsave[tabposition,2]); end; |
Re: Integerrückgabewert zeigt 4444192 ?
Und warum globale Variablen?
|
Re: Integerrückgabewert zeigt 4444192 ?
Danke
Ich hab immer gedacht das alles was nach denn var ist als rückgabewert gilt :wall: Zitat:
Ich hab doch aber 2. :gruebel: Zitat:
|
Re: Integerrückgabewert zeigt 4444192 ?
Zitat:
Zitat:
|
Re: Integerrückgabewert zeigt 4444192 ?
Zitat:
|
Re: Integerrückgabewert zeigt 4444192 ?
Z.B. ob alles funktioniert hat.
|
Re: Integerrückgabewert zeigt 4444192 ?
ah ja :idea: ,
also wenn jetzt ein fehlerauftritt zum beispiel true oder false zurückgeben. danke an alle |
Re: Integerrückgabewert zeigt 4444192 ?
Oder halt einen Code, der ggf. aussagt welcher Fehler aufgetreten ist.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:53 Uhr. |
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