Fehler zu bereinigen?
Habe da meine Zweifel da ich nicht in der SysUtils rummachen kann oder?
Zitat:
[DCC Fehler] MidiOut.pas(268): E2251 Doppeldeutiger überladener Aufruf von 'StrMove'
SysUtils.pas(7723): Verwandet Methode: function StrMove(PAnsiChar; const PAnsiChar; Cardinal): PAnsiChar;
SysUtils.pas(7729): Verwandet Methode: function StrMove(PWideChar; const PWideChar; Cardinal): PWideChar;
Delphi-Quellcode:
procedure TMidiOutput.PutLong(TheSysex: Pointer; msgLength: Word);
{ Notes: This works asynchronously }
var
MyMidiHdr: TMyMidiHdr;
begin
{ Initialize the header and allocate buffer memory }
MyMidiHdr := TMyMidiHdr.Create(msgLength);
StrMove(MyMidiHdr.SysexPointer, TheSysex, msgLength);
{ Store the MyMidiHdr address in the header so we can find it again quickly }
MyMidiHdr.hdrPointer^.dwUser := DWORD(MyMidiHdr);
{ Get MMSYSTEM's blessing for this header }
FError := midiOutPrepareHeader(FMidiHandle, MyMidiHdr.hdrPointer, sizeof(TMIDIHDR));
if Ferror > 0 then
raise EMidiOutputError.Create(MidiIOErrorString(False, FError));
{ Send it }
FError := midiOutLongMsg(FMidiHandle, MyMidiHdr.hdrPointer, sizeof(TMIDIHDR));
if FError > 0 then
raise EMidiOutputError.Create(MidiIOErrorString(False, FError));
end;
gruss