Quanto às DLLs só suponho que existam pra 32 e 64 bits.
Além disso, o harbour geralmente é gerado pra uma DLL específica, nem sempre pode ser outra, mas tem que ser compatível 32/64 bits conforme harbour.
O pessoal confunde criar lib intermediária como fazer parte do EXE.
No xharbour, e em harbour antigo dá pra perceber isso.
No borland, se não me engano, era implib.
umadll.dll -> gerava a lib umadll.lib
Ao linqueditar, umadll.lib faz parte do EXE, mas é dependente de existir umadll.dll
É como se fosse gerado aquele hb_dynCall( ..... ) para a DLL.
Isso não é converter dll pra lib, é apenas criar uma lib de chamadas pra DLL.
E é obrigatório existir a DLL.
Com as alterações do Viktor nos tempos do harbour 3.4, foi transformado pra SHARED/DYNAMIC, permitindo existir ou não a DLL.
Isso permite que o EXE funcione, mas quando precisar da DLL ela precisa existir.
Melhora no ponto de vista de poder funcionar todo resto que não depende da DLL.
Tem o detalhe do Windows sobre DLL 32/64 bits, mas só referente ao registro, quando se aloca junto ao sistema operacional.
Não é toda lib que se faz isso - aquilo de usar regsvr32.
32 bits em SysWow64, 64 bits em System32
Não sei pra outras DLLs se faz diferença conforme a pasta, acredito que não.
No CDO perguntei pra cortana, mostrou exemplo em ASP, não muito diferente de harbour
Código: Selecionar todos
<%
'Create the e-mail server object
Set objCDOSYSMail = Server.CreateObject("CDO.Message")
Set objCDOSYSCon = Server.CreateObject("CDO.Configuration")
'Set and update CDO Configuration
With objCDOSYSCon
' Specify the authentication mechanism to basic (clear-text) authentication
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
'SMTP Server username
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "you@your-email-here.com"
'SMTP Server password
.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "YourPasswordHere"
'Out going SMTP server
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.websitelive.net"
'SMTP port
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587
'TLS Encryption
.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendtls") = 1
'CDO Port (1=localhost 2=network)
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
'Timeout
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
'Update CDO Configuration
.Fields.Update
End With
'Update the CDOSYS Configuration
Set objCDOSYSMail.Configuration = objCDOSYSCon
With objCDOSYSMail
'Who the e-mail is from, this needs to be the same as your SMTP Server username
.From = "<you@your-email-here.com>"
'Who the e-mail is sent to
.To = "<to@to-email-here.com>"
'Who to reply-to when replying to the email
.ReplyTo = "<reply-to@your-email-here.com>"
'The subject of the e-mail
.Subject = "Website Enquiry"
'Set the e-mail body format (HTMLBody=HTML TextBody=Plain)
.HTMLBody = "this is the body"
'.TextBody = "this is the body"
'Send the e-mail
.Send
End With
'Close the server mail object
Set objCDOSYSMail = Nothing
Set objCDOSYSCon = Nothing
%>