Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - BlackZeroX

#881
Se me habia ocurrido algo casi igual hace rato cuando vi esa opcion... pero nunca para algo tan asi como lo que te rifaste... esto esta bueno!¡.

Dulces Lunas!¡.
#882
Cita de: Raul100 en 31 Octubre 2011, 19:24 PM

pero derepente en una funcion dependiendo de una condicion quiero devolver un puntero a una variable string por


para eso tienes el API SysAllocStringByteLen  pero leete la MSDN por que el puntero lo tienes que liberar.

Dulces Lunas!¡.
#883
Ammm se me ocurre ocupar un Array de Bytes y con Redim Preserve y jugar un poco con el puntero de la variable... mira:

Código (Vb) [Seleccionar]


Option Explicit

Private Declare Function VarPtrArr Lib "msvbvm60.dll" Alias "VarPtr" (ByRef Ptr() As Any) As Long
Private Declare Sub PutMem4 Lib "msvbvm60" (ByVal Addr As Long, ByVal NewVal As Long)
Private Declare Sub GetMem4 Lib "msvbvm60" (ByVal Addr As Long, ByVal RetVal As Long)

Public Function allocMem(ByVal lSize As Long) As Long
'   //  Retorna la Dirrecion de un SafeArray.
Dim pBuff()     As Byte
    If (lSize <= &H0) Then Exit Function
    ReDim pBuff(0 To (lSize - 1))
    GetMem4 VarPtrArr(pBuff), VarPtr(allocMem)
    PutMem4 VarPtrArr(pBuff), 0
End Function

Public Function reallocMem(ByVal lptr As Long, ByVal lSize As Long) As Long
'   //  Retorna la Dirrecion de un SafeArray que se retorno en allocMem()/reallocMem().
Dim pBuff()     As Byte
    PutMem4 VarPtrArr(pBuff), lptr
    If not (lSize = &H0) Then
        ReDim Preserve pBuff(0 To (lSize - 1))
    else
        erase pBuff
    end if
    GetMem4 VarPtrArr(pBuff), VarPtr(reallocMem)
    PutMem4 VarPtrArr(pBuff), 0
End Function

Public Function getMemData(ByVal lptr As Long) As Long
'   //  lPtr debe ser el valor (Address) que retorno en allocMem()/reallocMem().
'   //  Esta funcion retorna la Dirrecion de memoria EDITABLE de lPtr (Dirrecion de un SafeArray).
'   //  Referencias.
'   //  http://msdn.microsoft.com/en-us/library/aa908603.aspx
    If (lptr = &H0) Then Exit Function
    GetMem4 (lptr + &HC), VarPtr(getMemData)    '   //  obtenemos pvData
End Function

Public Sub releaseMem(ByVal lptr As Long)
'   //  lPtr debe ser la Dirrecion que retorno en allocMem().
Dim pBuff()     As Byte
    PutMem4 VarPtrArr(pBuff), lptr
End Sub



ejemplo:

Código (vb) [Seleccionar]


Private Sub Form_Load()
Dim lptr    As Long
Dim lVal    As Long
    lptr = allocMem(8)
    PutMem4 getMemData(lptr) + 3, 10
    lptr = reallocMem(lptr, 4)
    GetMem4 getMemData(lptr) + 3, VarPtr(lVal)
    Call releaseMem(lptr)
    Debug.Print lVal
End Sub

#884
.
No conozco mucho del tema de los Store Procedure... pero que mejor te doy esta liga en lugar de darte el choro mareador.

http://support.microsoft.com/kb/164485

Dulces Lunas!¡.
#885
.
FormatNumber()

Dulces Lunas!¡.
#886
Programación Visual Basic / Re: Tamaño de un UDT
1 Noviembre 2011, 04:44 AM
El limite lo determina la cantidad de espacio en memoria disponible... lo mas seguro es que si haces un array de una gran magnitud se te alentice la re-localizacion de la misma si es que se necesite, en un caso de dimenciones estaticas no, pero de que hay limite si hay limite.

Es muy posible que en una arquitectura de 32 bits no superes las 4294967296 dimensiones es mas apenas y alcanzarias la mitad de las mismas... pero quien sabe.

Si lo que quieres es hacer alsi como una BDD es mejor que uses SQLite ( si es tu juego ), o alguna BDD respetable.

Dulces Lunas!¡.
#887
Foro Libre / Re: Halloween
30 Octubre 2011, 22:40 PM
En donde resido se celebra el dia d emuertos no el Hallowen... aun que algunos desnaturalizados lo celebran.

Dulces Lunas!¡.
#888
.
Perdon tenia activado el HotLink...

Dulces Lunas!¡.
#890
Debes SubClasificar la ventana redirigiendo el CallBack a un proceso tuyo... al final retornando al original... almenos que lo quieras cancelar xP.

por ejemplo:  http://www.recursosvisualbasic.com.ar/htm/listado-api/139-hook-size-window.htm

Dulces Lunas!¡.