Visual Basic Foro
Programación => Visual Basic .NET / C# => Mensaje iniciado por: cobein en Junio 22, 2011, 08:10:52 pm
-
Una pregunta, alguna mara de llenar un array con un determinado byte, algo asi como fillmemory api?
-
cobein en este namespace :System.Runtime.InteropServices se encuentra una clase llamada marshall es para uso no administrado de memoria y una forma de copiar bloques de momoria cosas asi quisas sea la respuesta.o si puedes subir un ejemplo de lo que necesitas quizas lo pueda pasar...de ultima haces un pinvoke al api fillmemory y la usas a esa.
edito. sino puedes usar la misma clase array para hacer algo parecido a lo que pides...mejor si pones un ejemplo chango.
-
Esto es basicamente lo que necesito
Private Sub FillMem(ByRef bytevBuffer() As Byte, ByVal byteData As Byte)
Dim i As Integer
For i = 0 To UBound(bytevBuffer)
bytevBuffer(i) = byteData
Next
End Sub
No creo que esta sea la manera mas eficiente pero por ahora es lo unico que me funciona.
-
chango la clase array es de array en array y el marshal practicamente lo mismo...mmm...te corrijo algo en tu code y es q al estar en .net tienes q usar lo de .net mas halla qque halla soporte para las funciones de vb6....ya te ago el pinvoke del fillmemory asi la uses a esa que esa valida tmb.
Private Sub FillMem(ByRef bytevBuffer() As Byte, ByVal byteData As Byte)
Dim i As Integer
For i = 0 To bytevBuffer.Length - 1 'no usar ubound
bytevBuffer(i) = byteData
Next
End Sub
-
Buen punto, es la costumbre del 6
-
si locura es la costumbre ami tambien me paso y hasta pasa por eso desactivo ese namespace jej
este link te puede servir seguro estas trabajando con esto http://www.codeproject.com/KB/vb/Marshal.aspx
y te paso mas o menos el pinvoke del fillmemory no encontre pero lo armo yo
Private Sub FillMemory _
(ByVal Destination As Byte, ByVal Length As Long, ByVal Fill As Byte)
End Sub
importa el espacio system.runtime.interopservices
seguimos en linea cualquier cosa