Hola K_arlytos, podes resolverlo de dos formas, o renombras la api (Preferentemente la de la funcion pvAlphaBlend) con otro nombre por ejemplo :
Private Declare Sub CopyMemorylng Lib "kernel32" Alias "RtlMoveMemory" (ByVal Destination As Long, ByVal Source As Long, ByVal Length As Long)
y luego la cambias dentro de la funcion
o bien usas la misma para ambos casos, donde te sugiero que elimines la que tiene los parametros "Long", osea la de la funcion pvAlphaBlend, entonces esa función quedaría así
' Función para trasladar un color a otro en porcentaje lAlpha(0 A 255)
Private Function pvAlphaBlend(ByVal clrFirst As Long, ByVal clrSecond As Long, ByVal lAlpha As Long) As Long
Dim clrFore As UcsRgbQuad
Dim clrBack As UcsRgbQuad
OleTranslateColor clrFirst, 0, VarPtr(clrFore)
OleTranslateColor clrSecond, 0, VarPtr(clrBack)
With clrFore
.R = (.R * lAlpha + clrBack.R * (255 - lAlpha)) / 255
.G = (.G * lAlpha + clrBack.G * (255 - lAlpha)) / 255
.B = (.B * lAlpha + clrBack.B * (255 - lAlpha)) / 255
End With
CopyMemory pvAlphaBlend, clrFore, 4
End Function
PD: no entiendo bien en sí, cual es la duda con el titulo del post, tengo entendido que el ucImage le desde Res, cual es el problema, o pon algo de código haber si estas haciendo algo mal.