Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 241167 (2603)
  Suchen
 Zurück zur Übersicht
 AutorThema: Fehler bei %PCount ??
Philipp Sternberg
Datum:06.05.02 11:32 Antwortenals Email verschicken (ps@burghardt-ib.de) 


Hallo, ich hab folgendes Problem unter Windows Xp Home Profan 7.0e: Ich hab eine Prozdeur und möcte gewährleisten dass bei Aufruf nicht einer der 19 Parmeter vergessenw wird

proc AddReBarBand
parameters h_ReBar&,fMask&,fstyle&,clr_fore&,clr_back&,name$,iImage%,hwndChild&,cxMinChild%,cyMinChild%,cx%,hbmp_back&,ident%,cy_Child%,cy_MaxChild%,cx_Integral%,cx_Ideal%,lparam&,cx_Header%
if @equ(%PCount,19)
declare back%
dim RB_BandInfo#,RB_BandInfo
'RB_BandInfo = cbSize&,fMask&,fstyle&,clrFore&,clrBack&,lp_Text&,text_len&,iImage&,hwnd_Child&,cxMinChild&,cyMinChild&,cx&,hbmp_back&,ident&,cyChild&,cyMaxChild&,cyIntegral&,cxIdeal&,lparam&,cx_Header&
let RB_BandInfo#.cbSize& = 80
let RB_BandInfo#.fMask& = fMask&
let RB_BandInfo#.fstyle& = fstyle&
let RB_BandInfo#.clrFore& = clr_fore&
let RB_BandInfo#.clrBack& = clr_back&
let RB_BandInfo#.lpText& = @AddR(name$)
let RB_BandInfo#.text_len& = @len(name$)
let RB_BandInfo#.iImage& = iImage%
let RB_BandInfo#.hwnd_Child& = hwndChild&
let RB_BandInfo#.cxMinChild& = cxMinChild%
let RB_BandInfo#.cyMinChild& = cyMinChild%
let RB_BandInfo#.cx& = cx%
let RB_BandInfo#.hbmp_back& = hbmp_back&
let RB_BandInfo#.ident& = ident%
let RB_BandInfo#.cyChild& = cy_Child%
let RB_BandInfo#.cyMaxChild& = cy_MaxChild%
let RB_BandInfo#.cyIntegral& = cx_Integral%
let RB_BandInfo#.cxIdeal& = cx_Ideal%
let RB_BandInfo#.lparam& = lparam&
let RB_BandInfo#.cx_Header& = cx_Header%
let back% = @sendmessage (h_Rebar&,1025,-1,RB_BandInfo#) 'RB_INSERTBAND
dispose RB_BandInfo#
return back%
else
return @mul(%PCount,-1) 'Nicht die richtige Parameter Anzahl....
endif
endproc

das ding leifert bei leider immer -15 statt -19 zurück, ist dass n bug oder bin ich zu blöd ???

Philipp Sternberg


Philipp Sternberg
Datum:06.05.02 11:36 Antwortenals Email verschicken (ps@burghardt-ib.de) 


Hab noch was vergesssen, der Prozedur-Aufruf natürlich :
AddReBarBand ReBar&,(~RBBIM_CHILD | ~RBBIM_CHILDSIZE | ~RBBIM_SIZE | ~RBBIM_STYLE | ~RBBIM_HEADERSIZE)\
,(~RBBS_GRIPPERALWAYS | ~RBBS_CHILDEDGE | ~RBBS_VARIABLEHEIGHT),0,0,"",0,edit&,60,20,120,0,222,20,20,4,60,0,12


Philipp


Philipp Sternberg
Datum: 06.05.02 11:48 Antwortenals Email verschicken (ps@burghardt-ib.de) 


Oh, Sorry ich hab da leider was übersehen:

Profan verkraftet in version 7 leider nur 15 Parameter, dazu übrigens noch ne frage: im Hilfeartikel 10 - "Prozeduren" steht, dass der Parameterstack für jeden Typ 12 Parmeter aufnehmen kann:

Dem RETURN kann ein Parameter zurückgegeben werden, der je nach Typ mit der Funktion @$(0), @%(0), @&(0) oder @$(0) gelesen werden kann. (Diese Funktionen sind der "Parameterstack" von PROFAN². Für jeden Datentyp gibt es die Parameter
0 bis 12, wobei der 0. Parameter den Rückgabewert und die übrigen die übergebenen Parameter enthalten. Im obigen Beispiel könnte also auch über @$(2) auf den übergebenen Text zugegriffen werden.)

Sind das wirklich nur 12 oder auch 15 ????

Philipp Sternberg


 Zurück zur Übersicht