Flere af samme form.

Tags:    delphi

Situationen:
Jeg har et program, som har en form en chart til at vise kurver.
Alt data bliver indlæst i et array som formen bruger når man har
manipuleret kurven og vil tilbage tilden opridelige kurve.
Denne form kan blive åbnet flere gange så der er flere vinduer
af den samme form.

Problemmet:
Har man f.eks. 2 forme og skifter fra den sidst åbnede form til en tidligere åbnet form og ændrer kurven, bliver data for den sidst åbne form og ikke den som er aktiv.

Jeg har lavet et dynamisk array til formens data og tildelt formen
et unikt tag, alligevel kan den ikke skelne mellem disse forme og
bruger konsekvent den sidst åbnede forms data.

Jeg har prøvet en ShowMessage(Form.Tag) når formen åbnes,
så jeg ka se om det er den rigtige tag, hvilket det ikke er.
Det er altid den sidst åbnede forms tag der vises.



3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Situationen:
Jeg har et program, som har en form en chart til at vise kurver.
Alt data bliver indlæst i et array som formen bruger når man har
manipuleret kurven og vil tilbage tilden opridelige kurve.
Denne form kan blive åbnet flere gange så der er flere vinduer
af den samme form.

Problemmet:
Har man f.eks. 2 forme og skifter fra den sidst åbnede form til en tidligere åbnet form og ændrer kurven, bliver data for den sidst åbne form og ikke den som er aktiv.

Jeg har lavet et dynamisk array til formens data og tildelt formen
et unikt tag, alligevel kan den ikke skelne mellem disse forme og
bruger konsekvent den sidst åbnede forms data.

Jeg har prøvet en ShowMessage(Form.Tag) når formen åbnes,
så jeg ka se om det er den rigtige tag, hvilket det ikke er.
Det er altid den sidst åbnede forms tag der vises.


Hej André

Sådan som jeg forstår det, lyder det som om du skal bruge et 2-dim array. Hvor den første dim er hvilken for der er aktiv og den 2. dim er dine data til din kurve!

Så skal du overloade din constructor, så den medtaget en fortløbende int, som der tælles op for hver form der åbnes. Ud fra denne kan du arbejde med en specifik forms data i arrayet.

Håber det hjalp lidt.
Hilsen Thomas Vanting




Hej André

Sådan som jeg forstår det, lyder det som om du skal bruge et 2-dim array. Hvor den første dim er hvilken for der er aktiv og den 2. dim er dine data til din kurve!

Så skal du overloade din constructor, så den medtaget en fortløbende int, som der tælles op for hver form der åbnes. Ud fra denne kan du arbejde med en specifik forms data i arrayet.

Håber det hjalp lidt.
Hilsen Thomas Vanting



Mmm... Jeg har prøvet den med at tildele formen en variabel
når den bliver oprettet med from.create og den viser da også
det rigtige tal... bare ikke når den viser tallet (showmessage).
Måske skal jeg prøve at definere variablen et andet sted en i
dens egen form?... måske den form der kalder den... prøver
lige...

[Redigeret d. 29/09-05 12:21:17 af André]



Det virkede sørme tusind tak
Så er spørgsmålet bare... hvordan giver jeg dig de 100 points?

[Redigeret d. 29/09-05 13:47:17 af André]



t