Palmclub forum

Palmclub Forum

alles over je Palm Treo smartphone of PalmOS pda

 
Ga terug   Palmclub forum > PalmOS - Algemeen > Softwareontwikkeling

Registreer FAQ Ledenlijst Kalender Zoeken Berichten van vandaag Markeer forums als gelezen
  #1  
Oud 29 juli 2003, 16:46
Ploert
Guest
 
Berichten: n/a
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;
Ik heb het ook met een for loop geprobeerd, maar dat lukte ook niet.

Heeft iemand een idee?
Met citaat reageren
  #2  
Oud 29 juli 2003, 18:36
RobB's schermafbeelding
RobB RobB is offline
Huisprogrammeur
Voornaam: Rob
Model: Overig
 
Geregistreerd: 06 december 2000
Locatie: 82.174.252.255
Berichten: 911
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.
___________________________________
Met citaat reageren
  #3  
Oud 04 augustus 2003, 10:18
Ploert
Guest
 
Berichten: n/a
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?
Met citaat reageren
  #4  
Oud 04 augustus 2003, 10:36
RobB's schermafbeelding
RobB RobB is offline
Huisprogrammeur
Voornaam: Rob
Model: Overig
 
Geregistreerd: 06 december 2000
Locatie: 82.174.252.255
Berichten: 911
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.
___________________________________
Met citaat reageren
  #5  
Oud 04 augustus 2003, 10:56
ralphr ralphr is offline
Senior lid
Model: Sony Clie PEG-TJ27
 
Geregistreerd: 23 augustus 2001
Berichten: 67
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
Met citaat reageren
  #6  
Oud 04 augustus 2003, 14:27
Ploert
Guest
 
Berichten: n/a
En wederom bedankt!

Alle memory leaks zijn verdwenen.
Met citaat reageren
  #7  
Oud 05 augustus 2003, 11:03
Ploert
Guest
 
Berichten: n/a
Memory leaks 2

edit:
AL OPGELOST
Met citaat reageren
  #8  
Oud 11 augustus 2003, 10:34
Ploert
Guest
 
Berichten: n/a
scherm lijkt niet te sluiten



Zoals te zien is, is het scherm dat geopend was nog steeds zichtbaar. Wie weet wat deze fout veroorzaakt?
Met citaat reageren
  #9  
Oud 11 augustus 2003, 18:39
RobB's schermafbeelding
RobB RobB is offline
Huisprogrammeur
Voornaam: Rob
Model: Overig
 
Geregistreerd: 06 december 2000
Locatie: 82.174.252.255
Berichten: 911
Bij het afsluiten van je programma vergeten 'FrmCloseAllForms()' aan te roepen.
__________________
Rob.

The real source of applications.
___________________________________
Met citaat reageren
  #10  
Oud 12 augustus 2003, 09:52
Ploert
Guest
 
Berichten: n/a
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.
Met citaat reageren
  #11  
Oud 14 augustus 2003, 14:53
Ploert
Guest
 
Berichten: n/a
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
Met citaat reageren
  #12  
Oud 14 augustus 2003, 15:33
RobB's schermafbeelding
RobB RobB is offline
Huisprogrammeur
Voornaam: Rob
Model: Overig
 
Geregistreerd: 06 december 2000
Locatie: 82.174.252.255
Berichten: 911
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.
___________________________________
Met citaat reageren
  #13  
Oud 15 augustus 2003, 11:26
Ploert
Guest
 
Berichten: n/a
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
Met citaat reageren
Reageren

Favorieten/bladwijzers


Er zijn 1 actieve gebruikers die momenteel deze discussie bekijken (0 leden en 1 gasten)
 
Discussietools
Weergave

Regels voor berichten
Je mag geen nieuwe discussies starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit


Alle tijden zijn GMT +1. Het is nu 17:12.


Apple iPhone en iPad
(c) Nederlandse Palmclub Stichting 1999-2023