Konu: object class is invalid for this container
vfp9 source programın çalışmasında problem yok. ama derlediğimde
"object class is invalid for this container" mesajı veriyor .
app olarak derlediğimde de sorunyok. exe olarak derlediğimde sorunu yaşıyorum.
eski projelerimden farklı olarak bunda public class yaptım;
Public Polib1
Polib1=Createobject("Genel")
Polib1.AddProperty("PcvStartPath")
Polib1.AddProperty("PcvCompany")
Polib1.AddProperty("PcvUser")
Polib1.AddProperty("PcvGrup")
Polib1.AddProperty("PcvStatusBarText")
Polib1.AddProperty("Pcvimg")
Polib1.AddProperty("Pcvcom_name")
Polib1.AddProperty("PcvStatusBarText")
Polib1.PcvStartPath=Substr(Sys(16,0),1,Rat("\",Sys(16,0)))
Set Classlib To temel, tictemel
_Screen.Icon ='kartela.ICO'
baslik=Space(2)+"Kartela Yönetimi"+Space(15)
_Screen.Caption = baslik
Polib1.PcvStatusBarText=" "+Polib1.PcvStartPath
On Shutdown Polib1.kapat()
Do genmenu.mpr
Do Form firmasec.scx
Read Events
Set Sysm To Defa
*!******-------------------------------------******
Define Class Genel As Custom
*!******-------------------------------------******
*!**-----------------------------------------*
Procedure kapat()
*!**-----------------------------------------*
Local FrmCount,cevap
cevap=Messagebox ("Program Kapatılacaktır eminmisiniz?", 4+32+0,"UYARI")
If !cevap=6
Return
Else
FrmCount=_Screen.FormCount
For i=1 To FrmCount
_Screen.Forms(1).Release
Endfor
Clear Events
Quit
Endif
Endproc
*!**----------------------------------------*
Function getGUID
*!**----------------------------------------*
Local retval
Declare Integer UuidCreate In 'RPCRT4.dll' String @pguid
Declare Integer StringFromGUID2 In 'Ole32.dll' ;
string rguid, String @lpsz, Integer cchMax
Local pguid,rguid
pguid=Replicate(Chr(0),16)
rguid=Replicate(Chr(0),80)
UuidCreate(@pguid)
StringFromGUID2(pguid,@rguid,40)
m.retval=Strconv(Left(rguid,76),6)
m.retval=Substr(m.retval,2,8)+Substr(m.retval,11,4)+Substr(m.retval,16,4)+Substr(m.retval,21,4)+Substr(m.retval,26,12)
Return m.retval
Endfunc
*!**-----------------------------------------*
Procedure GetAllDs() && rapor açıkken başka rapor açıldığında datasessionı bulur
*!**-----------------------------------------*
Lparam FormName
Dime taSessions[1]
Local lnCurDatasesion, lnSessions
lnSessions=0
For Each oForm In _Screen.Forms
If Ascan (taSessions, oForm.DataSessionId)=0
lnSessions=lnSessions+1
Dimension taSessions [lnSessions,2]
taSessions[lnSessions,1]=oForm.DataSessionId
taSessions[lnSessions,2]=oForm.Name
Endif
Endfor
bul=Ascan(taSessions, Upper(FormName))
*!**lnSessions=taSessions[bul-1]
lnSessions=lnSessions+1
Return lnSessions
Endproc
Enddefine