/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
palm CtlSetLabel
Fra : Troels Thomsen


Dato : 23-04-04 09:43

Hej,

Jeg sidder og piller i noget palm kode og kan ikke forstå at det virker ....

void CtlSetLabel (ControlType *controlP,const Char *newLabel)

This function stores the newLabel pointer in the control's data
structure. It doesn't make a copy of the string that is passed in.
Therefore, if you use CtlSetLabel, you must manage the string
yourself. You must ensure that it persists for as long as it is being
displayed <cut>

const char aString[] = "some text";

void formInit()
{
CtrlSetLabel ( .... , aString); // should be ok !
CtrlSetLabel ( .... , "Hello there"); // error ?
}

Og så er det at jeg spekulerer lidt på om der er garanti for at strengen
eksisterer når formInit afsluttes. Svjv kan sådan en const streng være
placeret i R/O memory, og måske er det derfor at det tilsyneladende virker?

Uden at kende andet til Palm, vil i så ikke mene at det er imod de beskrevne
regler at gøre som vist ?

mvh Troels




 
 
Byrial Jensen (23-04-2004)
Kommentar
Fra : Byrial Jensen


Dato : 23-04-04 21:37

Troels Thomsen wrote:
> const char aString[] = "some text";
>
> void formInit()
> {
> CtrlSetLabel ( .... , aString); // should be ok !
> CtrlSetLabel ( .... , "Hello there"); // error ?
> }
>
> Og så er det at jeg spekulerer lidt på om der er garanti for at strengen
> eksisterer når formInit afsluttes.

Det er der garanti for i både C og C++. Strengkonstanter har samme
varighed som statiske variable, dvs. de er der hele tiden mens
programmet kører.

> Svjv kan sådan en const streng være placeret i R/O memory,

Det kan den, og det giver udefineret adfærd at forsøge at ændre den.

> og måske er det derfor at det tilsyneladende virker?

Sprogdefinitionerne siger at det skal virke.

> Uden at kende andet til Palm, vil i så ikke mene at det er imod de beskrevne
> regler at gøre som vist ?

Nej.


Troels Thomsen (26-04-2004)
Kommentar
Fra : Troels Thomsen


Dato : 26-04-04 09:52

>
> Strengkonstanter har samme varighed som statiske variable,
>

Det er jo klar tale, tak.

tpt




Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408877
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste