alles over je Palm Treo smartphone of PalmOS pda
|
Registreer | FAQ | Ledenlijst | Kalender | Zoeken | Berichten van vandaag | Markeer forums als gelezen |
#1
|
|||
|
|||
woorden samenvoegen
Wie weet hoe ik twee woorden kan samenvoegen? Als ik dit probeer met twee pointers gaat dit uiteraard niet. Maar als ik ze eerst omzet naar een array van karakters, dan werkt het ook niet. Dit omdat ik ook nog een min ertussen wil hebben.
Code:
Char* Een; Char* Twee; Char kEen[25]; Char kTwee[25]; Char kEenEnTwee[50]; StrCopy( kEen, Een ); StrCopy( kTwee, Twee); kEenEnTwee = kEen; kEen++ = '-'; kEenEnTwee += kTwee; Heeft iemand een idee? |
#2
|
||||
|
||||
Tja, als je nou C++ had gebruikt had je een kans gemaakt.
Onder C is dit de oplossing: Char* Een; Char* Twee; Char kEenEnTwee[50]; StrCopy( kEenTwee,Een); StrCat( kEenTwee,Twee); eigenlijk nog beter is: StrCopy( kEenTwee,Een); StrNCat( kEenTwee,Twee,50); Dit voorkomt een zogenaamde pointer overflow. Toch eens een basis cursus C volgen ?
__________________
Rob. The real source of applications. ___________________________________ |
#3
|
|||
|
|||
Memory leaks
Dank je wel, Rob! Dit was inderdaad de oplossing.
Ik zou graag een C-cursusje doen, maar de tijd staat mij dit niet toe. Ik heb ook nog een nieuwe vraag: Weet iemand hoe memory leaks ontstaan en nog belangrijker; hoe deze op te lossen zijn? |
#4
|
||||
|
||||
Memory leaks ontstaan doordatje in het programma een blok geheugen hebt aangevraagd (malloc, bij palm is dat MemPtrNew of MemHandleNew) maar nooit meer terug geeft.
Op te lossen door de tegenfunctie te gebruiken, resp MemPtrFree en MemHandleFree.
__________________
Rob. The real source of applications. ___________________________________ |
#5
|
|||
|
|||
Daarnaast moet je zorgen dat er geen memory leaks kunnen ontstaan. Dat klint simpel maar het is waar.
Je moet zo programmeren dat er wanneer iets fout gaat, ten alle tijden het geheugen wordt opgeruimd. Ik weet niet of het palm os, exception handling ondersteunt maar zo ja dan moet je deze gebruiken (Moeten is natuurlijk een groot woordt maar het is wel verstandig) ralph |
#6
|
|||
|
|||
En wederom bedankt!
Alle memory leaks zijn verdwenen. |
#7
|
|||
|
|||
Memory leaks 2
edit:
AL OPGELOST |
#8
|
|||
|
|||
scherm lijkt niet te sluiten
Zoals te zien is, is het scherm dat geopend was nog steeds zichtbaar. Wie weet wat deze fout veroorzaakt? |
#9
|
||||
|
||||
Bij het afsluiten van je programma vergeten 'FrmCloseAllForms()' aan te roepen.
__________________
Rob. The real source of applications. ___________________________________ |
#10
|
|||
|
|||
Dit helpt helaas niet. Ik roep FrmGoToForm() aan, hier geeft hij automatisch al een FrmCloseEvent aan alle openstaande formulieren.
Maar hij sluit deze dus niet. Na wat onderzoek blijkt het script met FrmCloseAllForms() wel alles te sluiten, maar het scherm blijft waarschijnlijk op de achtergrond draaien, want als ik naar een ander scherm ga probeert het programma het scherm pas te sluiten. Dit veroorzaakt uiteraard allerlei fouten. |
#11
|
|||
|
|||
Bus error
Met mijn vorige probleem bleek niemand mij te kunnen helpen, dan maar een ander probleem:
Weet iemand waarom hier een bus error ontstaat: Code:
Char* temp; temp = MemPtrNew( 500 ); temp = StrStr( details->note, ":==:" ); StrNCat( tekst, temp, 1000 ); MemPtrFree( temp ); En wel bij MemPtrFree |
#12
|
||||
|
||||
Sorry Coert, maar je moet nu toch echt eerst gewoon een boek kopen of een cursus volgen.
Kleine hint, waar wijst temp nu naar?
__________________
Rob. The real source of applications. ___________________________________ |
#13
|
|||
|
|||
Volgens mij zat ik gisteren te slapen. Ik zie het nu ook gelijk.
Maar bedankt. PS ik heb een boek over dit onderwerp (ook 1/2 doorgelezen), maar gewoon geen tijd meer om het helemaal te lezen. Dit boek gaat ook voornamelijk ook Palm en niet over C, waar ik eigenlijk meer aan had gehad als ik dit had geleerd (maar dat zie je altijd achteraf). Ik heb nu namelijk nog maar 2 weken voordat ik klaar ben met het afstuderen, dus hier blijft het bij. Ik denk niet dat ik nog iets te vragen heb in deze weken, dus allemaal bedankt voor de hulp. MVG Coert |