| |
|
|
![Dieter Zornow: 11.09.2008](.././../../i/a/101212027948ca98cf1d74c.jpg) Dieter Zornow | j'ai mich hiermal à einem Treeview probiert, cela qui Verzeichnisse de qui Platte einliest et chaque Elemente abfragbar sommes. qui Code basé weitestgehend sur dem Beispiel de Uwe (Pascal). c'est oui clever gemacht et je voulais cela roue pas pas récente erfinden. cela Beispiel de Pascal hat den le tort, dass es par qui Assemblerroutinen pas avec dem Windowsstyle 512 funktioniert. XProfan mais dummerweise chez vielem cette Stil braucht zum ordungungsgemäßen marcher. Dashalb habe Je l' Code quelque chose modifié, un paire Sicherheiten quoi cela Vous pouvez de pas bereiten Laufwerken betrifft et sur Assembler verzichtet. c'est presque fertig, encore pas optimiert, mais es fonctionne. il y a un Problem, le moi pas trouver peux. Xprofan stürzt unregelmäßig ab, quelquefois peux on klicken et klicken et es passiert gar rien. quelquefois stürzt es déjà pour wenigen Klicks ab. Ist unerklärlich là oui alles sur qui gleichen Routinen läüft. j'ai es eh bien aufgegeben, là es somit inutilisable ist et den Code begelegt. peut-être findet oui quelqu'un heraus, comme stabil wird. faute sembler aucun vorhanden trop son, là weder qui Inspector encore XPSE quelque chose trop bemängeln avons. Im Augenblick fonctionne es seulement sous XProfan 11, là einiges, pas viel, en verwendet wird. |
![](/intl/i/dw.gif) |
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 11.09.2008 ▲ |
|
|
|
|
![Frank Abbing: 11.09.2008](.././../../i/a/noavatar.gif) Frank Abbing | Gibst du qui PIDL eigentlich irgendwo wieder libre?
Solche Abstürze passer souvent, si Strukturen qui verkehrte Taille besitzen ou bien chez erneutem Benutzen auparavant pas vollständig gelöscht wurden. |
|
|
| |
|
|
|
![Dieter Zornow: 12.09.2008](.././../../i/a/101212027948ca98cf1d74c.jpg) Dieter Zornow | cela peux es pas son, là seulement sur Profan pas sur API lire wird |
|
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 12.09.2008 ▲ |
|
|
|
|
![Frank Abbing: 12.09.2008](.././../../i/a/noavatar.gif) Frank Abbing | peux pas son? alors je vois einiges à API dans qui INC, mais si du meinst...
~SHGetFileInfo(a&,0,SHF#,270,16393) -------------Flags: SHGFI_SMALLICON + SHGFI_PIDL
cela erzeugt un PIDL-Handle, et meines Erachtens pour musst du cela freigeben. |
|
|
| |
|
|
|
![Dieter Zornow: 12.09.2008](.././../../i/a/101212027948ca98cf1d74c.jpg) Dieter Zornow | oui tu as droite, 1 Funktion gibt un PIDL (SHGetSpecialFolderLocation), qui anderen jeweils seulement qui Icônes. cela pourrait mais pas cela Programme stören, là cela seulement jeweils 1 x am Programmanfang aufgerufen wird. qui Funktion qui du meinst gibt eigentlich aussi ne...aucune PIDL zurück
SHGFI_PIDLIndicates that pszPath is le address of à ITEMIDLIST structure rather than a path nom.
je denke cela Problem liegt plus chez XProfan, car selbst si je mir den grenier zuknallen serait et alles autre einwandfrei fonctionne, sollte cela Programme également courir et pas abstürzen. |
|
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 12.09.2008 ▲ |
|
|
|
|
![Dieter Zornow: 12.09.2008](.././../../i/a/101212027948ca98cf1d74c.jpg) Dieter Zornow | je denke j'ai den faute abgegrenzt. c'est qui Funktion qui den Klick sur cela Croix permet. cet braucht on mais ansonsten muss on seulement direct den Eintrag Vous pouvez et den Eintrag füllen, bevor qui Klicks sur Croix Wirkung montrer. on braucht alors ici seulement quelque chose besseres ensuite gehts, mir fällt mais justement rien plus un.
c'est qui Übeltäter KompilierenMarqueSéparation
proc Getitem holt über das Kreuz
parameters sel&
declare hit#:dim hit#,16
declare po#:dim po#,8
clear hit#:clear po#
GetCursorPos(po#)
ScreenToClient(tv&,po#)
Long hit#,0=Long(po#,0)
Long hit#,4=Long(po#,4)
Long hit#,8 = 8 Tvht_onitemindent
Long hit#,12 = sel&
var pos& = sendmessage(tv&,4369,0,hit#) TVM_HITTEST
dispose hit#,po#
return pos&
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 12.09.2008 ▲ | |
|
|
|
|
![Frank Abbing: 12.09.2008](.././../../i/a/noavatar.gif) Frank Abbing | Deswegen oui mon Vermutung im vorvorhergehenden Posting. Solche unvermittelten Abstürze riechen förmlich pour einer Speicherüberschreibung ou bien falscher initialisation. peut-être aussi einer fehlenden Sicherheitsabfrage, si une API réellement cela gewünschte Ergebnis geliefert hat. |
|
|
| |
|
|
|
![Uwe Pascal Niemeier: 15.09.2008](.././../../i/a/1470490353453dc4c350ec9.jpg) Uwe ''Pascal'' Niemeier | allô Dieter!
suis Je ne sûrement, wohin qui faute liegt; qui veröffendlichte Demo ist oui déjà quelque chose älter...
chez neueren Versionen (sous XProfan 10) verwende je SubClassing, um pour qui Message TVN_ITEMEXPANDINGW trop fischen. si cet auftritt, contient qui 4. paramètre qui WindowProc (LParam) une Pointer sur une NMTREEVIEW-Struktur. NMTREEVIEW wird z.B. aussi chez Selektion eines Items verwendet et contient Infos zum aktuellen et zum auparavant aktiven Item.
qui Stuktur besteht grob dit aus einer NMHDR-, deux TVITEM- et einer POINT-Struktur Stark vereinfacht et pas courir (!!) sähe cela pour XProfan 10 etwa so aus: KompilierenMarqueSéparationstruct NMTREEVIEW=hwndFrom&,idFrom&,code&,action&,
maskO&,ItemO&,stateO&,stateMaskO&,TextO&,TextMaxO&,ImageO&,SelectedImageO&,ChildrenO&,ParamO&,
maskN&,ItemN&,stateN&,stateMaskN&,TextN&,TextMaxN&,ImageN&,SelectedImageN&,ChildrenN&,ParamN&,
x&,y&
--Die Bezeichnungen habe ich willkührlich gewählt: O=Old ; N=New
dim TvN#,NMTREEVIEW
proc DlgProc------------------------------------DlgProc-------------------------------------
parameters wnd&,msg&,wparam&,lparam&
if msg&=~WM_NOTIFY
TvN#=lparam&
if TvN#.Code&=~TVN_ITEMEXPANDINGW
TvItem&=TvN#.ItemN&----TvItem&: Eintrag, dessen "+" geklickt wurde
---Weitere Aktionen, z.B. sendmessage(%hwnd,5000,0,0)
endif
endif
return ~CallWindowProc(DlgProc&,wnd&,msg&,wparam&,lparam&)
endproc------------------------------------------------------------------------------------n class=s2>-
Sollte qui geklickte Eintrag encore aucun Untereinträge avons, volonté cet plan nachgeladen. trop testen incidemment avec SendMessage(Tv&,~TVM_GETNEXTITEM,~TVGN_CHILD,Item&) (Gibt cela Handle des 1. ChildItems zurück)
encore quoi: Um Ereignisse per SubClassing abzufragen, sende je meist aus qui WindowProc heraus une selbstdefinierte et comme UserMessage angemeldete Message à l' Hauptfenster, um cela WaitInput dans qui Haupteingabeschleife trop durchbrechen. dépendant de cette Message (ou bien ihren Parametern) volonté ensuite irgendwelche Aktionen ausgelöst.
Universelles lauffähiges Snipped hab je im Moment malheureusement pas zur main ![](.././../../i/s/icon_sad.gif) Hoffe es hilft quand même
SeeYou Pascal |
|
|
| |
|
|
|
![Dieter Zornow: 15.09.2008](.././../../i/a/101212027948ca98cf1d74c.jpg) Dieter Zornow | @Uwe, merci dir, je werde es la fois ausprobieren si es quoi wird. important ist arrêt, dass es sous chaque Windowstyle fonctionne.
Salut
Dieter |
|
|
| Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 15.09.2008 ▲ |
|
|
|