gros probleme

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

gros probleme

Message par graph100 »

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 !!
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: gros probleme

Message par Backup »

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

voila
une reinstallation de purebasic et de taillbite me semble necessaire
:D

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 :D


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 :D
Anonyme

Message par Anonyme »

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()
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Message par graph100 »

merci beaucoup

@Dobro :
j'ai deja reinstalle taillbite plusieur fois mais il ne marche pas
pour pb c pareil

peut etre l'ordi est trop vieux : pentium 2 ??
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Re: gros probleme

Message par Anonyme2 »

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
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.

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()
Comme je ne sais pas ce que tu fait, il se peut que cette procedure n'existe pas ou fonctionne mal (sans le code difficile à dire)

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 ?
Répondre