Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

Onjuiste waarden in functie-parameters

Y.L. Bicknese
2 antwoorden
  • Het zal wel weer iets simpels zijn, maar ik zie de oplossing nog niet:
    In VB wordt een functie aangeroepen uit een DLL, geschreven in C++.
    De functie krijgt zo'n 15 parameters mee, van de typen integer en boolean. Er zitten ook integer en boolean arrays tussen.
    In de DLL worden deze parameters opgepikt met behulp van pointers, die naar het adres van de parameter wijzen.
    Het (merkwaardige?) feit doet zich voor dat sommige pointers naar een adres wijzen met de correcte inhoud (de waarde die VB meegeeft aan de functie) en andere met niet correcte inhoud. Het lijkt erop dat deze laatste pointers naar een adres wijzen waar ook weer een adres in staat.
    In VB hebben alle parameters de juiste waarde. In C++ ongeveer de helft. Hoe zou dat kunnen? En wat kan ik er aan doen?
    Heeft het misschien met alignment te maken?
    Een verlossend woord zou heel welkom zijn……….
  • Hoe zijn ze in C++ gedeclareerd ? Als je in VB strings doorgeeft, moeten ze ook in C++ als strings gedeclareerd worden en klopt dan het formaat ?
    Declareer je in C++ 10 posities, dan moet je de VB parameter ook uitvullen tot en met 10 posities.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.