برگزیده های پرشین تولز

سوالات برنامه نويسي : VB

emad86_20011

Registered User
تاریخ عضویت
4 فوریه 2004
نوشته‌ها
185
لایک‌ها
2
سن
36
محل سکونت
Mashhad, Iran
مطمئني پسوندش DLL هست؟؟ اصلا امكان نداره يه dll اين شكلي باشه يكي اون شكلي !! ويندوز همه فايل هاي dll رو با يك icon نشون ميده!!
از برنامه PE Explorer استفاده كن!!
http://www.heaventools.com/
 

emad86_20011

Registered User
تاریخ عضویت
4 فوریه 2004
نوشته‌ها
185
لایک‌ها
2
سن
36
محل سکونت
Mashhad, Iran
ممكنه بگين اين كد براي چي براي من كار نميكنه؟؟
به اون AddressOf گير ميده ميگه Invalid use of AddressOf operator
کد:
Private Declare Function SetFilter Lib "StreamReader.dll" (ByVal PID As Integer, ByVal ReadDataFunction As Long, ByVal CallBackTyp As Long, ByVal Size As Long, ByVal filter_num As Long) As Boolean

Public Function ReadDataFunction(ByVal buff As Byte, ByVal ILen As Long) As Long
'A2 = buff
'A1 = ILen
End Function


Private Sub Command1_Click()
Caption = SetFilter(532, AddressOf ReadDataFunction, 2, 1, 0)
End Sub

كدش رو از جايي گرفتم!! به نظر مياد بايد درست كار كنه!!
و در ضمن ميشه يكي بگه اين AddressOf چي كار ميكنه؟؟
ممنون!
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
به نقل از emad86_20011 :
ممكنه بگين اين كد براي چي براي من كار نميكنه؟؟
به اون AddressOf گير ميده ميگه Invalid use of AddressOf operator
کد:
Private Declare Function SetFilter Lib "StreamReader.dll" (ByVal PID As Integer, ByVal ReadDataFunction As Long, ByVal CallBackTyp As Long, ByVal Size As Long, ByVal filter_num As Long) As Boolean
 
Public Function ReadDataFunction(ByVal buff As Byte, ByVal ILen As Long) As Long
'A2 = buff
'A1 = ILen
End Function
 
 
Private Sub Command1_Click()
Caption = SetFilter(532, AddressOf ReadDataFunction, 2, 1, 0)
End Sub

كدش رو از جايي گرفتم!! به نظر مياد بايد درست كار كنه!!
و در ضمن ميشه يكي بگه اين AddressOf چي كار ميكنه؟؟
ممنون!
فکر کنم مشکل اینه که AddressOf رو نمیشه مستقیم ریخت توی یک فانکشن.

کارش اینه که یک اشاره گر بر می گردونه از فانکشنی که صدا میزنه. البته حتما فانکشن باید اسکوپش سراسری باشه یعنی توی یک module باشه. کاری شبیه pointer های توی سی انجام میده و معمولا برای فانکشنهایی که callback احتیاج دارن استفاده میشه.
 

emad86_20011

Registered User
تاریخ عضویت
4 فوریه 2004
نوشته‌ها
185
لایک‌ها
2
سن
36
محل سکونت
Mashhad, Iran
به نقل از balabala :
فکر کنم مشکل اینه که AddressOf رو نمیشه مستقیم ریخت توی یک فانکشن.

کارش اینه که یک اشاره گر بر می گردونه از فانکشنی که صدا میزنه. البته حتما فانکشن باید اسکوپش سراسری باشه یعنی توی یک module باشه. کاری شبیه pointer های توی سی انجام میده و معمولا برای فانکشنهایی که callback احتیاج دارن استفاده میشه.
خوب اين هم فانكشنش سراسريه ديگه Public تعريف شده!! من اينو تويه يك module هم گذاشتم نشد!!
خوب حالا اگه نميشه مستقيم ريخت چطوري ميشه غير مستقيم ريخت؟؟:wacko: (ببين چي شد!!همه چي غاتي شد:wacko: )
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
به نقل از emad86_20011 :
خوب اين هم فانكشنش سراسريه ديگه Public تعريف شده!! من اينو تويه يك module هم گذاشتم نشد!!
خوب حالا اگه نميشه مستقيم ريخت چطوري ميشه غير مستقيم ريخت؟؟:wacko: (ببين چي شد!!همه چي غاتي شد:wacko: )
این جوری :)

کد:
Function FnPtrToLong (ByVal lngFnPtr As Long) As Long
   FnPtrToLong = lngFnPtr
End Function
 
Private Sub Command1_Click()
Dim lngPtr as Long
lngPtr=FnPtrToLong(AddressOf ReadDataFunction)
 
Caption = SetFilter(532, lngPtr, 2, 1, 0)
End Sub
 

emad86_20011

Registered User
تاریخ عضویت
4 فوریه 2004
نوشته‌ها
185
لایک‌ها
2
سن
36
محل سکونت
Mashhad, Iran
به نقل از balabala :
این جوری :)

کد:
Function FnPtrToLong (ByVal lngFnPtr As Long) As Long
   FnPtrToLong = lngFnPtr
End Function
 
Private Sub Command1_Click()
Dim lngPtr as Long
lngPtr=FnPtrToLong(AddressOf ReadDataFunction)
 
Caption = SetFilter(532, lngPtr, 2, 1, 0)
End Sub
كد رو امتحان كردم!! فرقي نكرد!!
vb زرنگ تر از اين حرفاست!! ميخواستي با پيچ دادن كدها كلكش بزني ولي نشد:D
دقيقا همون error قبلي رو داد!! و بهتر بگم با اين جمله مشكل داره AddressOf ReadDataFunction
ميشه از روشي ديگه رفت كه اصلا نياز به استفاده از AddressOf نباشه؟؟

ممنون again
 

emad86_20011

Registered User
تاریخ عضویت
4 فوریه 2004
نوشته‌ها
185
لایک‌ها
2
سن
36
محل سکونت
Mashhad, Iran
الان گذاشتم تو يه ماژول همه چي درست شد!! ممنون! خدا عمرت بده جوون:rolleyes:
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
به نقل از emad86_20011 :
كد رو امتحان كردم!! فرقي نكرد!!
vb زرنگ تر از اين حرفاست!! ميخواستي با پيچ دادن كدها كلكش بزني ولي نشد:D
دقيقا همون error قبلي رو داد!! و بهتر بگم با اين جمله مشكل داره AddressOf ReadDataFunction
ميشه از روشي ديگه رفت كه اصلا نياز به استفاده از AddressOf نباشه؟؟

ممنون again
نه بابا! نمی خواستم کلکش بزنم :) ، راهش همین!

ولی اگر مشکل باز هم هستش اصلا موضوع چیز دیگه ای هستش. ممکنه دی ال الی که صدا میزنی سازگار با وی بی نباشه.

لطفا کامل شرح بده کار این کد چیه و دی ال ال هم بگذار ببینم...
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
به نقل از emad86_20011 :
الان گذاشتم تو يه ماژول همه چي درست شد!! ممنون! خدا عمرت بده جوون:rolleyes:
چی؟! درست شد؟ پس چی میگفتی؟ دیدی گفتم... :)
 

شايان

مدیران قدیمی
تاریخ عضویت
2 سپتامبر 2003
نوشته‌ها
4,813
لایک‌ها
9
balabala جان مبارك باشه آقا :D

سوال : يه برنامه ميخوام كه ليست DLL هاي استفاده شده تو يه پروژه VB رو بده ... خيلي دقيق و درست حسابي ! از اين برنامه نميدونم چي چي ( اسمش يادم رفته ) كه تو خود VB هست هم نميخوام استفاده كنم !
چون اولا VB من اين رو نداره ! دوما شنيدم گاهي اشتباه ميده.

برنامه مطمئن و درست حسابي سراغ داريد ؟ ( يه مقدار فوري )

و يه چيز ديگه ... ليست DLL هايي رو ميخوام كه تو خود XP هست ( وقتي نصب ميشه ) كه ديگه توي Setup ام نذارمشون.

ممنون.
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
به نقل از شايان :
balabala جان مبارك باشه آقا :D

سوال : يه برنامه ميخوام كه ليست DLL هاي استفاده شده تو يه پروژه VB رو بده ... خيلي دقيق و درست حسابي ! از اين برنامه نميدونم چي چي ( اسمش يادم رفته ) كه تو خود VB هست هم نميخوام استفاده كنم !
چون اولا VB من اين رو نداره ! دوما شنيدم گاهي اشتباه ميده.

برنامه مطمئن و درست حسابي سراغ داريد ؟ ( يه مقدار فوري )

و يه چيز ديگه ... ليست DLL هايي رو ميخوام كه تو خود XP هست ( وقتي نصب ميشه ) كه ديگه توي Setup ام نذارمشون.

ممنون.
مرسی آقا، از سفارشای شماست دیگه. :)

عرض کنم که:

- فکر کنم برنامه Package and Deployment وی بی رو میگی. خب اشکالش چیه؟ یک ستاپ درست کن، توی setup.lst ی که میسازه کل DLL ها لیست میشه، بعد میتونی توی برنامه های ستاپ دیگه اونها رو بیاری. (فکر کنم برای همین بخوای؟). راستش من چیز دیگه ای سراغ ندارم، شاید بچه ها بیشتر بدونن. ولی بعضی از برنامه های ساخت ستاپ خودشون این کار هم می کنن.

- DLL هایی که توی XP هست تا اونجایی که من میدونم:
کد:
MSVBVM60.DLL
COMCAT.DLL
stdole2.tlb
asycfilt.dll
olepro32.dll
oleaut32.dll
درواقع اگر از کامپوننتی و دی ال الی در وی بی 6 استفاده نکنی، چیز دیگه ای بجز exe برای setup ی که روی XP کار کنه لازم نداری! اصلا ستاپ لازم نداری!
 

شايان

مدیران قدیمی
تاریخ عضویت
2 سپتامبر 2003
نوشته‌ها
4,813
لایک‌ها
9
مشكل اينه كه من اين Package and Deployment رو ندارم ! براي همين دنبال يه برنامه ميگردم كه اين كار رو بكنه برام !
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
به نقل از شايان :
مشكل اينه كه من اين Package and Deployment رو ندارم ! براي همين دنبال يه برنامه ميگردم كه اين كار رو بكنه برام !
چطور؟ توی سی دی ویژوال استودیو 6 حتما هستش. باید بری Add Remove ش یک نگاه به آپشن ها بنداز، حتما ننصبیدی!
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
شایان!

اگر سی دیش رو داری برو توی اد ریموش بعد روی Visual Basic 6 بعد Change Option رو بزن، همونجاس باید تیکش بزنی.
 

شايان

مدیران قدیمی
تاریخ عضویت
2 سپتامبر 2003
نوشته‌ها
4,813
لایک‌ها
9
دمت گرم ! مشكل حل شد ! يعني من همين كاري كه گفتي كردم ... بعد يه Setup ساخت .

اين محتواي فايل Setup.LST هست ( اون فايل هايي كه ماله برنامه خودم هست رو اسمش رو #### گذاشتم )


اينطور كه گفتي . من فقط بايد فايل هايي كه تو قسمت دوم نوشته استفاده كنم ... اره ؟ يعني اون چند تا اولي ها رو ويندوز خودش داره ؟
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
به نقل از شايان :
دمت گرم ! مشكل حل شد ! يعني من همين كاري كه گفتي كردم ... بعد يه Setup ساخت .

اين محتواي فايل Setup.LST هست ( اون فايل هايي كه ماله برنامه خودم هست رو اسمش رو #### گذاشتم )

.....

اينطور كه گفتي . من فقط بايد فايل هايي كه تو قسمت دوم نوشته استفاده كنم ... اره ؟ يعني اون چند تا اولي ها رو ويندوز خودش داره ؟
آره بجز
که برای خوده ستاپ وی بی هست و برای ستاپ های دیگه لازم نیست بقیش رو XP داره.
ولی
هم مشکوک میزنه. بهتره که باشه. و البته ocx و dll های برنامت.
 

شايان

مدیران قدیمی
تاریخ عضویت
2 سپتامبر 2003
نوشته‌ها
4,813
لایک‌ها
9
VB6STKIT.DLL رو كه همونطور گفتي ... هيچي ! چون من نميخوام از اين ستآپ استفاده كنم . اين stdole2.tlb هم ببينم چيه ... شايد ماله خودم بوده اسمش رو عوض كردم :D
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
به نقل از شايان :
VB6STKIT.DLL رو كه همونطور گفتي ... هيچي ! چون من نميخوام از اين ستآپ استفاده كنم . اين stdole2.tlb هم ببينم چيه ... شايد ماله خودم بوده اسمش رو عوض كردم :D
169.gif
میدونی اصلا چیه. بهت گارانتی میدم این stdole2.tlb رو نمیخواد. این یه Type Library هستش که زمان طراحی لازمه. اشتب کردم گفتم می خواد، الان که فکر میکنم میبینم که لازم نیستش. ;)
 

شايان

مدیران قدیمی
تاریخ عضویت
2 سپتامبر 2003
نوشته‌ها
4,813
لایک‌ها
9
يه چيز ديگه ! يه برنامه دارم ... DLL to LIB !

اين LIB ها كه ميده بيرون كجا كاربرد داره ؟ تو VB به درد نميخوره ؟
 

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
به نقل از شايان :
يه چيز ديگه ! يه برنامه دارم ... DLL to LIB !

اين LIB ها كه ميده بيرون كجا كاربرد داره ؟ تو VB به درد نميخوره ؟
فکر نکنم.
وی بی 6 فقط dll و ocx و tlb و olb قبول میکنه که از بینشون ocx ممکنه یه کنترل باشه ولی بقیه فانکشن و ساب و ... در کل کد هستن.
تازه اینها هم باید سازگار با وی بی باشن وگرنه ارورر میده.
 
بالا