Avatar billede forcedesigner Nybegynder
25. april 2002 - 14:07 Der er 16 kommentarer og
1 løsning

Ny problem!

Jeg er ved at lave en lille editor der kan åbne mange sider.

Min ny vindue kode:

CreateMDIChild('unavngivet' + IntToStr(MDIChildCount + 1));

Det virker godt nok, den åbner vinduer og giver dem nummer som fx. unavngivet1, unavngivet2, unavngivet3 osv..

Problemet er hvis jeg lukker unavngivet1 og unavngivet3 også trykker på ny kommer en ved navn unavngivet2.

Så er der lig pludselig 2 unavngivet2. Hvorfor???

hvordan skal jeg løse pro..

Avatar billede borrisholt Novice
25. april 2002 - 14:09 #1
Ved at du skriver op et sted hvilket navn du gav den sidste ..
Avatar billede laffe Nybegynder
25. april 2002 - 14:15 #2
Det er fordi du bruger MDIChildCount som nummerering.
Avatar billede martinlind Nybegynder
25. april 2002 - 14:15 #3
JB >> fik du DWS til at køre ??
Avatar billede borrisholt Novice
25. april 2002 - 14:16 #4
Har ikke haft tid til at kigge på det ..

Jens B
Avatar billede laffe Nybegynder
25. april 2002 - 14:21 #5
Lav din egen tæller, som du tæller op hver kan du kalder CreateMDIChild:

Inc(PageCounter);
CreateMDIChild('unavngivet' + IntToStr(PageCounter + 1));
Avatar billede forcedesigner Nybegynder
25. april 2002 - 14:22 #6
Ja, jeg skal brug MDIChildCount.

Jeg vil har nummer på vinduerne men der skal ikke komme unavngivet2 og unavngivet2 igen.
Avatar billede forcedesigner Nybegynder
25. april 2002 - 14:23 #7
Den tror den første unavngivet2 er unavngivet1 derfor kommer der en unavngivet2 igen.
Avatar billede forcedesigner Nybegynder
25. april 2002 - 14:26 #8
Den tror hele tiden at den vindue der tilbage er unavngivet1 selv om det er unavngivet2 eller unavngivet3.
Avatar billede martinlind Nybegynder
25. april 2002 - 14:30 #9
Gør som laffe forslår, det er måden at gøre det på, men betyder jo også at du selv skal "holde styr" på hvad nummer dit vindue har, du kan ikke bare bruge MDIChildCount.
Avatar billede forcedesigner Nybegynder
25. april 2002 - 17:15 #10
Har i læst hvad mit problem er??? Jeg tror i misforståd noget.

Det virker godt nok, den åbner vinduer og giver dem nummer som fx. unavngivet1, unavngivet2, unavngivet3 og det er det jeg vil have den skal gøre, så er den problem løst.

MEN problemet er hvis jeg lukker unavngivet(1), unavngivet(3) og lader unavngivet(2) også trykker på ny kommer en ved navn unavngivet(2),så er der lig pludselig 2 unavngivet2. Hvorfor???

Her er NY VINDUE kode:

CreateMDIChild('unavngivet' + IntToStr(MDIChildCount + 1));

Håber i forståd NU
Avatar billede doc404 Novice
25. april 2002 - 20:32 #11
MDIChildCount indeholder til enhver tid antallet af åbne vinduer og derfor viker det ikke det du gør...


Start            (MDIChildCount = 0)
Nyt unavngivet1 (MDIChildCount = 1)
Nyt unavngivet2 (MDIChildCount = 2)
Nyt unavngivet3 (MDIChildCount = 3)

Luk unavngivet 1 (MDIChildCount = 2)
Luk unavngivet 3 (MDIChildCount = 1)

Når du så åbner et nyt SKAL det jo komme til at hedde unavngivet2 fordi MDIChildCount er 1. Got it?

Gør som laffe skriver og lav din egen tæller. Hvis du vil have at et nyt vindue altid får det laveste mulige nummer er du nød til enten at holde styr på hvilke numre du har givet allerede åbne eller også må du scannet igennem alle åbne når du laver et nyt
Avatar billede forcedesigner Nybegynder
25. april 2002 - 23:08 #12
Det laffe har skrevet.

Den siger der er fejl i "PageCounter".
Avatar billede doc404 Novice
26. april 2002 - 08:28 #13
Har du defineret PageCounter et eller andet sted?
Avatar billede forcedesigner Nybegynder
26. april 2002 - 10:10 #14
Hvad mener du??
Avatar billede doc404 Novice
26. april 2002 - 10:14 #15
du skal definerer PageCounter din main form som en integer
Avatar billede martinlind Nybegynder
26. april 2002 - 10:26 #16
forcedesigner >> Eller også skulle du smutte ned og købe den billig bog/hæfte du kan få der omhandler Delphi, det koster ca. 70,-
Avatar billede forcedesigner Nybegynder
26. april 2002 - 12:28 #17
Glem det jeg fandt ud af det selv, men ellers mange tak.

Point til laffe.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester