U medjuvremenu sam napravio neki pomak, ono sto je kiklop74 napravio za celikapi, ja sam pravio za eVehicleRegistration, ali nisam sasvim siguran sta s njim da radim, a predpostavljam da sam nege i neku greskicu napravio. Postoji nekoliko promenljivih uputstvu za saobracajne koje su tipa long* i char*, nisam bio siguran cemu sluzi zvezdica, pa sam im dodelio tipove Long i String.
Komplet fajl sa svim komentarima cu da prilozim, pa koji voljan da prokomentarise bicu mu zahvalan. Takodje me zanima kako da primenim to sto sam napravio, pod predpostavkom da ce u nekom trenutku biti ispravljene greske nastale u njemu.
Code:
Option Explicit
'Declare PtrSafe Function PozivCitaca Lib "C:\...\SaobracajnaApi\eVehicleRegistrationCOM.dll" _
' (ownersPersonalNo As Characters, ownersPersonalNoSize As Long, ownersSurnameOrBusinessName As Characters, _
' ownersSurnameOrBusinessNameSize As Long, ownerName As Characters, ownerNameSize As Long, ownerAddress As Characters, _
' ownerAddressSize As Long, usersPersonalNo As Characters, usersPersonalNoSize As Long, usersSurnameOrBusinessName As Characters, _
' usersSurnameOrBusinessNameSize As Long, usersName As Characters, usersNameSize As Long, usersAddress As Characters, _
' usersAddressSize As Long) As SD_PERSONAL_DATA()
'Public Declare Function PozivCitaca Lib "C:\...\SaobracajnaApi\eVehicleRegistrationCOM.dll" Alias "eVehicle" ()
' Registration.Initialize
' Registration.ProcessNewCard
' Registration.ReadPersonalData
Const C5 = 5
Const C16 = 16
Const C20 = 20
Const C30 = 30
Const C50 = 50
Const C100 = 100
Const C200 = 200
Const C1024 = 1024
Const C4096 = 4096
' //
'// Function return values
'//
'Const EID_OK = 0
'Const EID_E_GENERAL_ERROR = -1
'Const EID_E_INVALID_PARAMETER = -2
'Const EID_E_VERSION_NOT_SUPPORTED = -3
'Const EID_E_NOT_INITIALIZED = -4
'Const EID_E_UNABLE_TO_EXECUTE = -5
'Const EID_E_READER_ERROR = -6
'Const EID_E_CARD_MISSING = -7
'Const EID_E_CARD_UNKNOWN = -8
'Const EID_E_CARD_MISMATCH = -9
'Const EID_E_UNABLE_TO_OPEN_SESSION = -10
'Const EID_E_DATA_MISSING = -11
'Const EID_E_CARD_SECFORMAT_CHECK_ERROR = -12
'Const EID_E_SECFORMAT_CHECK_CERT_ERROR = -13
Public Type groupSD_DOCUMENT_DATA
stateIssuing As String * C50
stateIssuingSize As Long
competentAuthority As String * C50
competentAuthoritySize As Long
authorityIssuing As String * C50
authorityIssuingSize As Long
unambiguousNumber As String * C30
unambiguousNumberSize As Long
issuingDate As String * C16
issuingDateSize As Long
expiryDate As String * C16
expiryDateSize As Long
serialNumber As String * C20
serialNumberSize As Long
End Type
Public Type groupSD_VEHICLE_DATA
dateOfFirstRegistration As String * C16
dateOfFirstRegistration As Long
yearOfProduction As String * C5
yearOfProductionSize As Long
vehicleMake As String * C100
vehicleMakeSize As Long
vehicleType As String * C100
vehicleTypeSize As Long
commercialDescription As String * C100
commercialDescriptionSize As Long
vehicleIDNumber As String * C100
vehicleIDNumberSize As Long
registrationNumberOfVehicle As String * C20
registrationNumberOfVehicleSize As Long
maximumNetPower As String * C20
maximumNetPowerSize As Long
engineCapacity As String * C20
engineCapacitySize As Long
typeOfFuel As String * C100
typeOfFuelSize As Long
powerWeightRatio As String * C20
powerWeightRatioSize As Long
vehicleMass As String * C020
vehicleMassSize As Long
maximumPermissibleLadenMass As String * C20
maximumPermissibleLadenMassSize As Long
typeApprovalNumber As String * C50
typeApprovalNumberSize As Long
numberOfSeats As String * C20
numberOfSeatsSize As Long
numberOfStandingPlaces As String * C20
numberOfStandingPlacesSize As Long
engineIDNumber As String * C100
engineIDNumberSize As Long
numberOfAxles As String * C20
numberOfAxlesSize As Long
vehicleCategory As String * C50
vehicleCategorySize As Long
colourOfVehicle As String * C50
colourOfVehicleSize As Long
restrictionToChangeOwner As String * C200
restrictionToChangeOwnerSize As Long
vehicleLoad As String * C20
vehicleLoadSize As Long
End Type
Public Type tagSD_PERSONAL_DATA
ownersPersonalNo As String * C20
ownersPersonalNoSize As Long
ownersSurnameOrBusinessName As String * C100
ownersSurnameOrBusinessNameSize As Long
ownerName As String * C100
ownerNameSize As Long
ownerAddress As String * C200
ownerAddressSize As Long
usersPersonalNo As String * C20
usersPersonalNoSize As Long
usersSurnameOrBusinessName As String * C100
usersSurnameOrBusinessNameSize As Long
usersName As String * C100
usersNameSize As Long
usersAddress As String * C200
usersAddressSize As Long
End Type
Public Type groupSD_REGISTRATION_DATA
registrationData As String * C4096
registrationDataSize As Long
signatureData As String * C1024
signatureDataSize As Long
issuingAuthority As String * C4096
issuingAuthoritySize As Long
End Type
Public Declare Function sdStartup Lib _
"C:\...\SaobracajnaApi\eVehicleRegistrationCOM.dll" _
(version As Long) As Long
Public Declare Function sdCleanup Lib _
"C:\...\SaobracajnaApi\eVehicleRegistrationCOM.dll" () As Long
'GetReaderName treba proveriti
Public Declare Function GetReaderName Lib _
"C:\...\SaobracajnaApi\eVehicleRegistrationCOM.dll" _
(index As Long, readerName As String, nameSize As Long) As Long
'SelectReader treba proveriti
Public Declare Function SelectReader Lib _
"C:\...\SaobracajnaApi\eVehicleRegistrationCOM.dll" (reader As String) As Long
Public Declare Function sdProcessNewCard Lib _
"C:\...\SaobracajnaApi\eVehicleRegistrationCOM.dll" () As Long
Public Declare Function sdReadDocumentData Lib _
"C:\...\SaobracajnaApi\eVehicleRegistrationCOM.dll" _
(SD_DOCUMENT_DATA As groupSD_DOCUMENT_DATA) As Long
Public Declare Function sdReadVehicleData Lib _
"C:\...\SaobracajnaApi\eVehicleRegistrationCOM.dll" _
(SD_VEHICLE_DATA As groupSD_VEHICLE_DATA) As Long
Public Declare Function sdReadPersonalData Lib _
"C:\...\SaobracajnaApi\eVehicleRegistrationCOM.dll" _
(SD_PERSONAL_DATA As tagSD_PERSONAL_DATA) As Long
Public Declare Function sdReadRegistrationData Lib _
"C:\...\SaobracajnaApi\eVehicleRegistrationCOM.dll" _
(SD_REGISTRATION_DATA As groupSD_REGISTRATION_DATA, index As Long) As Long