PREGUNTAS CONTESTADAS - Visual Basic

 Hay un total de 3030 Preguntas.<<  >> 

    Pregunta:  45853 - ESTRUCTURAS COMO ARGUMENTOS
Autor:  Elías Castillo
Estoy construyendo una DLL y quiero que algunas de las funciones de la DLL lleven como argumentos estructuras (como las API por ejemplo) pero cuando la voy a compilar me dice que no se puede.
Alguien puede decirme cómo puedo solucionar esto?
Gracias
  Respuesta:  Javi M
Si estas creando procedimientos públicos el compilador no te va a dejar compilar tipos de datos que no sean básicos.
Puedes hacer un apaño con este código.
Define un string de longitud fija lo suficientemente grande para
contener la estructura (en nº de bytes) y copiar los bytes de la estructura
al string con la función del api RtlMoveMemory y en el destino hacer lo
contrario:

Private Declare Sub CopyMemory Lib \"kernel32\" Alias _
\"RtlMoveMemory\" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)

Dim aux As String * 50 \'suponiendo que la estructura ocupa 50 bytes o menos

CopyMemory ByVal aux, MiEstructura, LenB(MiEstructura)

Y en el destino :

CopyMemory MiEstructura, ByVal aux, LenB(MiEstructura)

    Pregunta:  45883 - VISUAL BASIC 6, ACCESS E INTERNET
Autor:  Luis
Tengo una base de datos access en una pagina web y necesito abrirla desde una aplicacion vb 6.0 en mi computador, alguien sabe si esto se puede hacer, asi de sencillo, si es asi agradeceria me pudieran enviar el codigo fuente, lo mas clarito posible.
Gracias.
  Respuesta:  Fredy Ramirez
Debería funcionar tal y como funciona en una LAN.

Debes tener en cuenta que:la base de datos Access debe ser accesible desde otro computador (Compatir, permisos, firewall, etc), una vez solucionado esto lo único que debes hacer es incluir en la cadena de conexión de tu codigo la ruta.

Ejm: \\NombreEquipo\Data\TuBaseDatos.mdb

'NombreEquipo' puede ser un IP o un nombre DNS válido.

Espero que esto pueda servirte de algo.

    Pregunta:  45889 - CONEXION CON DLL
Autor:  Eduardo Lopez.Mantaras
He creado un proyecto DLL Active X con la clase Empleados
creo unas variables publicas y unos procedimientos (Sub) publicos.

He creado un proyecto EXE estándar y le he añadido en Referencias la DLL anterior.
Creo una variable con la clase: Private ClaseEmpleados as Empleados
Creo el objeto: Set ClaseEmpleados new Empleados

Y entonces al escribir ClaseEmpleados y poner el punto, SI sale el desplegable con las variables y los procedimientos creados en la DLL Active X.

Cuando utilizo las variables funciona perfectamente, pero cuando utilizo los procedimientos me da un error diciendo que el objeto no existe. No lo entiendo ya que al escribir la variable que tiene el objeto si reconoce dichos procedimientos.

Alguien me puede ayudar?????
  Respuesta:  Jorge
El problema que tienes, es como invocas el objeto, ya que cuando se crea una DLL Activex, se invoca a través de CreateObject("Clase","Servidor"), y la forma en como lo estas invocando es cuando manejas un módulo de clase dentro del proyecto principal

    Pregunta:  45891 - CAMPO MEMO EN TABLA ACCESS Y APPENDCHUNK
Autor:  Gonzalo Alvarez
Hola , amigos.

Tengo un pequeño problema en la programacion con VB 6.0 y la grabacion a un campo Memo de una tabla Access 2000.
Utilizo el metodo appendchunk para insertar el valor a un campo memo, dicho valor es un string encriptado. En ciertos casos funciona bien, pero en otros ocurre un error :
Error 3702 : El ancho de una columna de texto Unicode debe ser un número par de bytes.

Estoy mirando y efectivamente el string que quiero almacenar ocupa un número para de bytes ( si a eso es lo que se refiere ).También eliminé la compresion Unicode de dicho campo, pero nada varia.
He buscado por Internet pero no encuentro nada que me ayude.

Muchas gracias de antemano.
Saludos a todos.
  Respuesta:  chicky
para salir rapido del paso... si no es muy largo la cadena guardala como texto.. y si es muy grande guardala como jpg por ejemplo usando el campo ole.. luego cuando lo recuperas lo haces lo inverso.. eespero te sirva de algo

    Pregunta:  45969 - PROPIEDADES DE UN ARCHIVO DE MUSICA
Autor:  Byron Contreras
Amigos,
Ya logre encontrar las propiedades de un archivo; nombre, fecha de creacion, si es oculto, etc. Pero no puedo encontrar las propiedades de un archivo de música; el nombre de la canción, artista, album, track, etc. No se como se hace y no lo he podido lograr, necesito encontrarlas y modificarlas.
¿Alguien tiene alguna idea?
Gracias de antemano
  Respuesta:  Jose Guillen
Si se trata de un archivo en mp3, busca algun codigo fuente con el cual puedas editar los ID TAG al igual que lo hace el Winamp.

    Pregunta:  45977 - APLICACIONES QUE CADUQUEN EN VISULA BASIC
Autor:  Claudio Biemann
Necesitaría una idea de como hacer un DEMO con Visual Basic, o sea, una aplicación hecha en Visual Basic que después de una determinada cantidad de dias de haber sido instalada, no funcione más.
Gracias.
  Respuesta:  NoHumano NoHumanoXXX
hola, yo lo hago de la siguiente forma, dejo un archivo oculto en al guna carppeta de windows, puede ser la carpeta SYSTEM, le pngo un nombre que no puedan reconocer, "xjaw.dll", por ejemplo, y ciempre al iniciar el programa pregunto por ese archivo, al llegar a cierta fecha hago que se elimine este archivo, y si el sistema no lo encuentra, el sistema no corre, y envía un mensaje al usuario, de que el sistema a caducado, de esta forma evitas de que el usuario le pueda cambiar la fecha al computador y seguir usando el sistema

así lo hago yo

saludos
  Respuesta:  Jaime
Hola! No se exactamente que quieres hacer, pero podrias hacer tal vez que a partir de la fecha del sistema, dejase de funcionar en 15 dias, con una funcion que ahora no recuerdo, pero todo lo podrias controlar en un array que recoge la fecha del sistema... No se si t habre sido de ayuda, espero que si :-P

Un saludo
  Respuesta:  Deshabu
Bueno existe un control ocx, si no estoy mal para crear una aplicacion demo.
yo una vez lo hice de la siguiente forma:

cuando arranca por priemera vez gardo en el registro de windows unmensaje, y asi cada vez que arranque verifico si este mensaje esta alli, si esta alli guardo otro mensaje en forma de contador que incremente cada vez que inicie el programa, de esta forma puedo poner un condicional hasta determinado numero de arranque y no permite inciarlo mas.

creo que en la web existe un ejemplo de un programita que dice cuantas veces se ha abierto el programa. buscalo.

espero me entiendas algo de esta locura que escribi.

    Pregunta:  45985 - ERROR AL GENERAR EXE
Autor:  Walter hecht
Amigos, tengo una aplicacion en VB6 grande (26 mG el exe) y en Windows98 compila y genera el exe correctamente.
En Windows XP la etapa de compilacion la realiza correctamente pero cuando empieza el Link tira el No se puede ejecutar LINK.EXE y no lo genera.
SI alguien me puede dar una mano desde ya muchas gracias.
Walter
  Respuesta:  Gonza El coletas
La pregunta es si el error del link.exe te da aunque sea una aplicacion pequeña.

¿si tu abres un proyecto simple con un solo formulario y lo compilas te da el mismo fallo?

tengo una version pirata del visual studio que me da ese problema.

lo he solucionado reemplazando el link.exe de otra version que si va bien, aunque es en otro idioma.

el link.exe esta en la carpeta donde tienes instalado el visual basic.

si necesitas te mando el link.exe

saludos
  Respuesta:  David Regalado
Tu problemas es algo que casi todos cometemos cuando desarrollamos una aplicacion en windows y la instalamos en una version superior hay problemas con las dll y otros archivos lo ideal seria que generes de exe en una maquina con WinXPSP2 y asi la podras instalar en cualquier windows.

    Pregunta:  45990 - LEER NUMERO DE SERIE DE MOTHERBOARD
Autor:  J. Aron Vizcarra Mesta
Deseo que me ayuden a leer el numero de serie de la targeta madre, ya que yo se que si es posible porque en una trageta madre intel cuando arranca pone el numero de serie de la targeta madre, la finalidad es de poder proteger mis programas, amarrandolos directamente con la targeta madre, si es posible que me envien el codigo fuente o bien solo la interrupcion o api que se necesite para hacerlo, de antemano gracias
  Respuesta:  veronica posadas
Prueba con este funcion

Public Function MBSerialNumber() As String

'si hay mas d 1 mother separa los nros con comas

'incorporar referencia a Microsoft WMI Scripting Library (wbemdisp.dll)

Dim objs As Object

Dim obj As Object
Dim WMI As Object
Dim sAns As String
'WMI - > referencia a wbemdisp.dll .lib

Set WMI = GetObject("WinMgmts:")
Set objs = WMI.InstancesOf("Win32_BaseBoard")
For Each obj In objs
sAns = sAns & obj.SerialNumber
If sAns < objs.Count Then sAns = sAns & ","
Next
MBSerialNumber = sAns
Debug.Print sAns

End Function

    Pregunta:  46013 - SOLUCIóN AL ERROR -2147467259
Autor:  Carlos Amaro
Saludos a todos.

Estoy corriendo un DTS programado en VB para insertar datos en SQL Server a una tabla definitiva desde un archivo en Excel, pero me genera el error -2147467259 la primera vez que lo corro. si lo corro por segunda ves se ejecuta sin ningun problema.

Ya verifique que los nombres y tipos de datos de los campos de la tabla correspondan con la definición del DTS. (OK)

Ya verifique del OLEDB en el regedit, para que permita valores NULL (OK)

Alguien podria ayudarme a resolver mi problema.

De antemano les doy las gracias por la ayuda.
  Respuesta:  Jose Ocampo
Ese error lo tengo cundo intento abrir una Base de Datos Access, inexistente, y lo solucione asi. Evidentemente te da el error porque no encuentra la base de datos la primera vez, seguramente despues la creas por eso te tira el error. Si te sirve....
Sub main()
Titulo = "Sistema carga Procreación Responsable"
On Error GoTo Mal
Set Cn = New ADODB.Connection
Txt = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path + "\EnBlanco.MDB;Persist Security Info=False"
With Cn
.ConnectionString = Txt
.Open
End With
Load frmUnificacion
frmUnificacion.Show
Mal:
If Err.Number = -2147467259 Then
MsgBox "No se encontro la Base de Datos" & vbCrLf & "Se " _
& "cerrará la aplicacion", vbCritical, Titulo
Exit Sub
End If
End Sub

    Pregunta:  46026 - COMO AVERIGUAR EL IP DE LA PC LOCAL
Autor:  Andres Castigliano
Hola a todos!
Necesito saber como hago para averiguar el ip de la maquina local desde una aplicacion echa en visual basic 6.
Existe alguna funcion que me devuelva esto??.

Desde ya, muchas gracias
  Respuesta:  Miguel O Hernandez Liebano
Si la hay inserta el control Winsock (desde componentes) luego
inserta un label
y escribe la siguiente sentencia al cargar el formulario
label1.caption = winsock1.localIP
y alli te dara la dirección de IP de la maquina

Espero haberte ayudado cualquiet duda puedes escribrime y con gusto te ayudare si esta a mi alcance saludos

Nota: puedes ampliar leyendo sobre l control winsock aca en la web del programador hay varios ejemplos

|<  <<  258 259 260 261 262 263 264 265 266 267 268  >>  >|