From: John McCabe <john@nospam.assen.demon.co.uk>
Subject: Re: This MIDI stuff, would someone be interested in reviewing my code?
Date: Tue, 09 Mar 2010 12:42:50 +0000
Date: 2010-03-09T12:42:50+00:00 [thread overview]
Message-ID: <ovfcp5tuhrrp1h5gp6tfnp9oumlvnapcvn@4ax.com> (raw)
In-Reply-To: bffcp5dj0ue4esmqsusm03o9dsi3rvt6em@4ax.com
On Tue, 09 Mar 2010 12:26:21 +0000, John McCabe
<john@nospam.assen.demon.co.uk> wrote:
>On Tue, 09 Mar 2010 12:10:16 +0000, Brian Drummond
><brian_drummond@btconnect.com> wrote:
>>>>For this small
>>>>example, I would do the same with Midiincaps and Midioutcaps;
>>>The point of allocating/freeing them was to get round the fact that,
>>>when they were declared in the declarative part of the main function,
>>>I seemed to have to use 'Unchecked_Access when passing them to
>>>midiInGetDevCaps/midiOutGetDevCaps.
>>Look into the "aliased" keyword. Unlike C, the compiler will assume a local
>>variable is never aliased (and can be optimised) - unless you declare it
>>aliased, to say there may be a pointer to it. Declare them aliased and you
>>shouldn't need Unchecked_Access.
>I had them declared as aliased. With just 'access on it the compiler
>said "blah blah blah can't do it because it's not global" (or
>something like that). I'll check again, but that was the gist of it.
mididevs.adb:56:49: non-local pointer cannot point to local object
Note - this is an updated version so the lines aren't the same number!
That's with something like:
procedure MidiDevs is
Midi_In_Caps : aliased Win32.Mmsystem.MIDIINCAPS;
<blah>
begin
<blah>
res := Win32.Mmsystem.midiInGetDevCaps(Device_ID,
Midi_In_Caps'Access,
Win32.Mmsystem.MIDIOUTCAPS'size
* Win32.BYTE'size);
<blah>
end MidiDevs;
FWIW - I keep mentioning it's a long time since I used Ada, so there
may be something in there I've forgotten - I'll check my books!
next prev parent reply other threads:[~2010-03-09 12:42 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-08 11:40 This MIDI stuff, would someone be interested in reviewing my code? John McCabe
2010-03-08 11:52 ` Gautier write-only
2010-03-08 12:30 ` John McCabe
2010-03-08 17:24 ` Jeffrey R. Carter
2010-03-09 10:21 ` John McCabe
2010-03-09 12:10 ` Brian Drummond
2010-03-09 12:26 ` John McCabe
2010-03-09 12:42 ` John McCabe [this message]
2010-03-10 11:12 ` Stephen Leake
2010-03-10 12:29 ` John McCabe
2010-03-09 12:24 ` John McCabe
2010-03-09 13:11 ` Martin
2010-03-09 14:00 ` John McCabe
2010-03-13 8:12 ` Christophe Chaumet
2010-03-15 11:35 ` John McCabe
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox