18. september 2002 - 16:16Der er
10 kommentarer og 1 løsning
Array -> Pointers ??
Jeg sidder og leger med Windows' AVIFile API, fra Video for Windows pakken. Det har indtil nu gået meget fint, men jeg er så stødt på et problem jeg ikke kan klare selv, så hvor søger man så hjælp henne? Eksperten selvfølgelig! Nu håber jeg bare at der er hjælp at hente. ;)
Funktionen jeg skal kalde er erklæret som følger:
function AVISaveOptions( hwnd : HWND; uiFlags : UINT; nStreams : int; var ppavi : PAVISTREAM; var plpOptions : PAVICOMPRESSOPTIONS ): BOOL; stdcall;
Og det er jo meget fint, problemet er blot at 'ppavi' og 'plpOptions' skal være arrays, men typerne PAVISTREAM og PAVICOMPRESSOPTIONS er pointers til en enkelt structure.
I C/C++ kan man kalde funktionen med en reference til et array, og det fungerer som en pointer.. Det prøvede jeg i Delphi, og fik fejlen: "Types of actual and formal var parameters must be identical"
Jeg håber der er en ekspert som kan hjælpe mig med dette problem. :o)
Det kan jeg godt, hvis jeg siger at der kun er en enkelt stream, men problemet er jo at jeg har 2 streams, 1 til lyd og en til video. Med denne funktion er det ikke så slemt da jeg kan kalde funktionen 2 gange, men jeg skal bruge det igen på et senere tidspunkt, så jeg bliver nødt til at finde en løsning.
Okay jeg legede selv lidt mere med det, og fandt frem til løsningen der er, at rette i erklæringerne, og oprette nye datatyper der holder et array. Det er en lidt klodset løsning syntes jeg, men det virker da.
Ellers tak for jeres råd. Selvom det ikke ledte til en løsning denne gang, så er det altid rart at der er folk på Eksperten som er villige til at gøre et forsøg. :o)
Nej jeg har ikke fået afprøvet det, da jeg sidder med et andet projekt lige nu der presser lidt på, men jeg skal nok se om jeg kan få afprøvet det imorgen, og hvis det viser sig at være løsningen, så skal jeg nok oprette et nyt spørgsmål til dig, så du kan få dine 100 point. :o)
Det var ikke for de 100 point det var mere fordi næste alle windows api kaldene er lavet på den måde. Så skal du jo rette i typerne hver gang du skal bruge api kald
Jepper, og det er også det jeg er træt af, hvorfor du ærligt fortjener de point hvis det virker. Du skal da bestemt ikke bøde for at jeg er for hurtig på "aftrækkeren" :o)
Det kan du lige tro det gør! (Beklager forsinkelsen. Skulle have trukket en flækket tand ud, hvilket medførte *meget* bedøvelse, og *meget* smerte da bedøvelsen var væk)
Poster lige et spørgsmål til dig. :o)
Synes godt om
Ny brugerNybegynder
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.