ورود

View Full Version : کسی میدونه یک OCX,Dll را چطور میشه رجیستر کرد؟



rezaTavak
جمعه 25 دی 1383, 18:20 عصر
سلام

من از برنامه Install Shield برای نصب استفاده میکنم و اون خودش فایل را رجیستر میکنه. چطوری میشه اینکار را خودمون انجام بدیم؟ البته با برنامه نویسی نه توی فاکس پرو. منظورم اینه که دستوراتش در برنامه EXE ای که ساخته ایم قابل اجرا باشد.

binyaz2003
جمعه 25 دی 1383, 21:20 عصر
میشه بیشتر توضیح بدین

البته با برنامه نویسی نه توی فاکس پرو. منظورم اینه که دستوراتش در برنامه EXE ای که ساخته ایم قابل اجرا باشد.

rezamim
شنبه 26 دی 1383, 21:52 عصر
من بیسیک بلد نیستم ولی لینک زیر کمک کنه
http://www.codeguru.com/vb/controls/vb_activex/article.php/c3479

اینهم یک کد که لینکش رو گم کرده ام :cry:


Add the following code......

'***************************************
'NEWLY ADDED CODE

Select Case RegFunction
Case REGISTER_FUNCTIONS.DllRegisterServer
lngProcAddress = GetProcAddressRegister(lngLib, "DllRegisterServer")
Case REGISTER_FUNCTIONS.DllUnRegisterServer
lngProcAddress = GetProcAddressRegister(lngLib, "DllUnregisterServer")
Case Else
End Select
'***************************************

'***************************************
'ALREADY EXISTING CODE

If lngProcAddress = 0 Then
RegisterComponent = [Not A Valid ActiveX Component] 'Not a Valid ActiveX Component
If lngLib Then Call FreeLibraryRegister(lngLib)
Exit Function
Else
hThread = CreateThreadForRegister(ByVal 0&, 0&, ByVal lngProcAddress, ByVal 0&, 0&, lpThreadID)
If hThread Then
fSuccess = (WaitForSingleObject(hThread, 10000) = WAIT_OBJECT_0)
If Not fSuccess Then
Call GetExitCodeThread(hThread, dwExitCode)
Call ExitThread(dwExitCode)
RegisterComponent = [ActiveX Component Registration Failed] 'Couldn't Register.
If lngLib Then Call FreeLibraryRegister(lngLib)
Exit Function
Else
If RegFunction = DllRegisterServer Then
RegisterComponent = [ActiveX Component Registered Successfully] 'Success. OK
ElseIf RegFunction = DllUnRegisterServer Then
RegisterComponent = [ActiveX Component UnRegistered Successfully] 'Success. OK
End If
End If
Call CloseHandle(hThread)
If lngLib Then Call FreeLibraryRegister(lngLib)
End If
End If


[/url]

rezamim
شنبه 26 دی 1383, 21:54 عصر
ضمنا اگه خواستید جاش رو پیدا کنید در google دنبال عبارت زیر بگردید
How to Register / UnRegister ActiveX Components through Code

مطمئنا موضوعاتی رو که فرستادم پیدا میکنید

البته فکر کنم مثال موجود در اون لینکی که گذاشتم همونه که دنبالش هستید ولی باید به فاکس تبدیل بشه . اگه تبدیلش کردید برای بقیه هم کد رو بفرستید :oops:

rezaTavak
یک شنبه 27 دی 1383, 16:24 عصر
سلام

آقا ممنون. میرم ببینم چی میشه.