riesco a seguirti solo teoricamente
praticamente....
mi dà un valore nullo
che informazioni hai bisogno
per aiutarmi!!!
riesco a seguirti solo teoricamente
praticamente....
mi dà un valore nullo
che informazioni hai bisogno
per aiutarmi!!!
Quando ottieni un errore, dovresti sempre specificare di quale errore si tratta, altrimenti costringi chi ti risponde a provare il tuo codice per verificare il problema o nei casi peggiori come questi diviene impossibile diagnosticare l'errore poichè il codice suggerito funziona ma non hai scritto qui la tua versione.Originariamente inviato da meronet
Interessante ma [...] mi dà errore !!!
![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
ok domani a lavoro
ti dò delle info precise
su quell' errore
dalle rimembranze pareva
il tipico errore 35 ....
come se non trovase l' api
io richiamavo in un file.frm la funzione
ma l' api era nel modulo
e non veniva vista
a meno che non dovevo richiare la funzione
in questo modo
tipo :
getusername(non , so , cosa)
io la richiamavo solo così
getusername
Il tutto è solo una rimembranza
Buongiorno a tutti
Ho scritto il tutto in un modulo
ed ho messo dentro un oggetto button
il codice
code
Debug.Print GetPDCName("nome computer", "nome dominio")
ma quando lo eseguo
non succede perfettamente niente
senza errori
Vedo ciclare tutto il sorgente di tutto il modulo
ma non appare mai il valore di un dominio o di un pc
Se in un oggetto button inserisco
code
GetPDCName("nmi5020", "server") As String
dopo mi da un errore tipo
errore di compilazione
Istruzione non valida all' esterno del blocco type
Scusa la mia inesperienza
Se il codice postato funziona, siamo sicuri che tu l'abbia copiato correttamente nel tuo modulo?Originariamente inviato da meronet
Ho scritto il tutto in un modulo
ed ho messo dentro un oggetto button
il codice
[...]
ma quando lo eseguo
non succede perfettamente niente
senza errori
Prova a incollare qui il corpo della Sub GetPDCName.
In alternativa, imposta dei punti di interruzione (breakpoint), esegui passo per passo la Sub e verifica cosa succede dopo ogni istruzione eseguita: potresti essere in una condizione differente da quella in cui si trova la persona che ti ha fornito il codice perciò solo tu puoi analizzare e conoscere a fondo questo fattore, poichè noi non abbiamo ovviamente accesso al tuo PC e alla tua rete.
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Private Sub Command3_Click()
Debug.Print GetPDCName("nome computer", "nome dominio")
End Sub
Private Sub Command4_Click()
Dim r r = GetPDCName("nome computer", "nome dominio")
End Sub
In entrambi i casi
richiamano il modulo dove vi è tutta la dichiarazione dell' api
cioè
code
----------------------------
Private Declare Function NetGetDCName Lib "netapi32.dll" _
(ServerName As Any, DomainName As Any, lpBuffer As Long) As Long
Private Declare Function NetApiBufferFree Lib "netapi32.dll" _
(ByVal pBuffer As Long) As Long
Private Declare Sub CopyMem Lib "kernel32.dll" Alias "RtlMoveMemory" _
(pTo As Any, uFrom As Any, ByVal lSize As Long)
Private Declare Function lstrlenW Lib "kernel32.dll" _
(ByVal lpString As Long) As Long
Private Const NERR_Success As Long = 0&
Private Function PtrToString(lpwString As Long) As String
Dim Buffer() As Byte
Dim nLen As Long
If lpwString Then
nLen = lstrlenW(lpwString) * 2
If nLen Then
ReDim Buffer(0 To (nLen - 1)) As Byte
CopyMem Buffer(0), ByVal lpwString, nLen
PtrToString = Buffer
End If
End If
End Function
Public Function GetPDCName(ComputerName As String, DomainName As String) As String
Dim bComputer() As Byte
Dim bDomain() As Byte
Dim ret As Long
Dim lpBuffer As Long
Dim s As String
If Trim(ComputerName) = "" Then
bComputer = vbNullChar
Else
If InStr(ComputerName, "\\") = 1 Then
bComputer = ComputerName & vbNullChar
Else
bComputer = "\\" & ComputerName & vbNullChar
End If
End If
If Trim(DomainName) = "" Then
bDomain = vbNullChar
Else
bDomain = DomainName & vbNullChar
End If
ret = NetGetDCName(bComputer(0), bDomain(0), lpBuffer)
If ret = NERR_Success And lpBuffer Then
s = PtrToString(lpBuffer)
End If
If lpBuffer Then
Call NetApiBufferFree(lpBuffer)
End If
GetPDCName = s
End Function
------------------------------------
ma non succede nulla !!!
Ps. ditemi che ho sbagliato è sarò contento !!!!
A voi cosa succede !!!
Cioè se funziona ...cosa dovrebbe accadere !!!
Usa bene i tag CODE, il tuo codice è incomprensibile.
Ciao,![]()
Ciao, Brainjar
mettendo un punto di interruzione
nel punto finale del code
mi esce GetPDCName come valore vuoto
adesso te lo richiedo
Hai una rete con un domain server?
il computer sul quale lo lanci ha accesso ad un dominio o ad un workgroup?
Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te