bon j'ai changer d'ordi et je me retrouve avec plusieur probleme :
ces deux probleme sont avec 4.00 et 3.94 avec xp pro
1: je ne peut plus crée de lib avec taillbite qui fonctionne : il fait reference a une librairie du nom de malibrairie_INIT et quand le compilateur démarre avec cette lib dans les userlib il ne reconnais plus aucune fonction a part les API
c'est enbetant !!
2: le programme accepte d'initialiser les sprite3d mais quand je fais Start3d() il plante !!
c'est aussi embetant
voila
a et je ne trouve plus comment on fait la liste des fenetres ouvertes dans window
et si qqun sait comment dessiner sur le bureau c super !!
gros probleme
Re: gros probleme
une reinstallation de purebasic et de taillbite me semble necessairegraph100 a écrit :bon j'ai changer d'ordi et je me retrouve avec plusieur probleme :
ces deux probleme sont avec 4.00 et 3.94 avec xp pro
1: je ne peut plus crée de lib avec taillbite qui fonctionne : il fait reference a une librairie du nom de malibrairie_INIT et quand le compilateur démarre avec cette lib dans les userlib il ne reconnais plus aucune fonction a part les API
c'est enbetant !!
2: le programme accepte d'initialiser les sprite3d mais quand je fais Start3d() il plante !!
c'est aussi embetant
voila

a et je ne trouve plus comment on fait la liste des fenetres ouvertes dans window
et si qqun sait comment dessiner sur le bureau c super !!
vla pour les fenetres

Procedure Window()
hwnd.l = FindWindow_ ( 0, 0 )
While hwnd <> 0
If GetWindowLong_ (hwnd, #GWL_STYLE ) & #WS_VISIBLE = #WS_VISIBLE
; If GetwindowLong_(Hwnd, #GWL_EXSTYLE) & #WS_EX_TOOLWINDOW <> #WS_EX_TOOLWINDOW
txt.s = Space (256)
GetWindowText_ (hwnd, txt, 256)
If txt <> ""
Debug txt
EndIf
; EndIf
EndIf
hwnd = GetWindow_ (hwnd, #GW_HWNDNEXT )
Wend
EndProcedure
Window()
pour dessiner sur le bureau faut rechercher un code du Soldat inconnu
a propos d'une Chenille

Et Voila pour dessiner sur le bureau :
Code : Tout sélectionner
Procedure.l DesktopOutput()
Mem.l = AllocateMemory(800)
PokeL(Mem, 1)
ProcedureReturn Mem
EndProcedure
T = ElapsedMilliseconds()+1000
Repeat
ExamineDesktops()
StartDrawing(DesktopOutput())
For y = 0 To DesktopHeight(0) Step 32
For x = 0 To DesktopWidth(0) Step 32
Box(x,y,16,16,RGB(Random(255),Random(255),Random(255)))
Next
Next
StopDrawing()
Until T<ElapsedMilliseconds()
StartDrawing(DesktopOutput())
For y = 0 To DesktopHeight(0) Step 20
DrawText(0,y,"ERROR, I WAS DESTROYED YOUR COMPUTER ! ")
Next
StopDrawing()
Re: gros probleme
1) Avec Purebasic, lorsque l'on fait une lib, on peut créer une procédure d'initialisation et une procédure qui s'exécute à la fermeture. On n'appelle pas ces procedures mais c'est le compilateur qui s'en charge. Une seule et même procedure d'initialisation pour toute la librairie que tu crée.graph100 a écrit :bon j'ai changer d'ordi et je me retrouve avec plusieur probleme :
ces deux probleme sont avec 4.00 et 3.94 avec xp pro
1: je ne peut plus crée de lib avec taillbite qui fonctionne : il fait reference a une librairie du nom de malibrairie_INIT et quand le compilateur démarre avec cette lib dans les userlib il ne reconnais plus aucune fonction a part les API
c'est enbetant !!
2: le programme accepte d'initialiser les sprite3d mais quand je fais Start3d() il plante !!
c'est aussi embetant
Ces 2 procedures s'exécutent tout seul, elles permettent par exemple d'initiliser des variables, d'allouer de la mémoire, de déclarer des listes chainées ou tout ce que tu veux.
La procédure qui s'exécute à la fin permet par exemple de libérer les blocs mémoire alloués à l'initilisation etc.
Il me semble que Tailbite utilise pour la procedure d'initialisation, le suffixe _Init et pour celle qui s'exécute à la fin le suffixe _End (voir la doc de Tailbite)
Par exemple
Code : Tout sélectionner
ProcedureDll Maprocedure_Init()
Code : Tout sélectionner
ProcedureDll Maprocedure_End()
Pour le plantage, c'est normal car la procedure d'initialisation doit fixer des paramètres etc qui font défaut lorsque tu démarres.
Je pense que c'est inutile de réinstaller PB.
Tailbite utilise aussi ses propres libs, mais d'après ce que tu dis le problème doit être ailleurs. Alors surememnt pas obliger de réinstaller.
Va dans le dossier des lib utilisateur, vires celle que tu est en train de faire, vérifie que ta procedure d'initialisation et celle de fermeture existent et n'ont pas de problèmes de code.
Recommence avec tailbite.
As-tu un message avec des constantes en double ou déjà déclarée ?