Page 4 sur 12

Publié : sam. 18/juin/2005 16:08
par gansta93
ça serait bien un delay(0) pour ne pas monopoliser trop de resources dans la procédure waituntilwindowisclosed().

Publié : sam. 18/juin/2005 21:37
par Droopy
WaitUntilWindowIsClosed chez moi ne monopolise aucune ressouce

Code : Tout sélectionner

ProcedureDLL WaitUntilWindowIsClosed()
  Repeat
  Until WaitWindowEvent()= #PB_Event_CloseWindow
  ProcedureReturn 1
EndProcedure

Publié : dim. 19/juin/2005 9:13
par gansta93
Oui, mais un delay serait bien je pense quand même. Chez moi, au bout d'un certain temps, si j'utilise ta fonction, ça rame bcp... mais je dois être le seul, encore une fois.

Publié : dim. 19/juin/2005 17:30
par Droopy
WaitWindowEvent attend un évènement, ce qui évite d'ajouter un delay

c'est louche 8O

Publié : mer. 24/août/2005 14:36
par lionel_om
Salut
Ca serait bien d'ajouter une fonction RunOnce un peu différente :
Le contrôle s'effectue sur le nom du fichier et non pas sur le nom de la fenêtre. :wink:

Publié : mer. 24/août/2005 16:03
par Droopy
J'ai pas compris ta question 8O

Publié : mer. 24/août/2005 16:45
par Dr. Dri
il veut dire que si deux fenetres ont le même nom le runonce peut poser problème... (conflit avec d'atres applis)

Dri

Publié : mer. 24/août/2005 16:57
par lionel_om
Oui voilà.
Et moi j'aurai besoin d'un RunOnce sur le programm en lui même car le titre de ma fenêtre principale change sans arrêt...

Publié : mer. 24/août/2005 20:14
par Dr. Dri
suggestion :
tu énumères les process en cours, tu tu récupère le nom de leur exécutable, s'il correspond au tien tu gères en conséquence

mais je sais pas si c'est faisable...

Dri ;)

Publié : mer. 24/août/2005 20:56
par Droopy
OK j'avais pensé que tu voulais pouvoir lancer ton executable au démarrage de windows 1 seule fois, en fait tu veux empêcher l'exécution du programme une seconde fois.

J'ai ce code que j'ai prévu d'inclure dans la prochaine version de la DroopyLib

Code : Tout sélectionner

; Author : netmaestro
; End the Program if another instance is found !!

Procedure RunOnlyOneInstance()
*a = CreateSemaphore_(null,0,1,GetProgramName()) 
If *a <> 0 And GetLastError_()= #ERROR_ALREADY_EXISTS 
  CloseHandle_(*a) 
  End
EndIf
EndProcedure


;/ Test
; RunOnlyOneInstance()
; OpenWindow(0, 100, 200, 195, 260, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget, "PureBasic Window")
; WaitUntilWindowIsClosed()

Publié : ven. 26/août/2005 21:31
par Droopy
Version 1.24 disponible
  • BlockInputW98
    FormatDisk
    GetGadgetIdentifier
    GetPixelColor
    GetUserLanguage
    GuidAPI
    MonitorPower
    RealDriveType
    RunOnlyOneInstance
    RunProgramAtStartup
    URLDownloadToFile
    WMI

    LDB ( DATABASE FUNCTIONS )
    LdbGetPointer
    LdbSetPointer
    LdbCountField
    LdbOpen
    LdbCreate
    LdbCountRecord
    LdbRead
    LdbWrite
    LdbAddRecord
    LdbDeleteRecord
    LdbSaveDatabase
    LdbCloseDatabase
    LDBSetFieldName
    LdbGetFieldName
    LdbPreviousRecord
    LdbNextRecord
    LdbInsertRecord
    LdbAddField
    LdbDeleteField
    LdbSearchInit
    LdbSearch
    LdbSortNum
    LdbSortAlpha

    TOOLTIP FUNCTIONS
    ToolTipAdd
    ToolTipRemove
    ToolTipChange
    ToolTipShow
    ToolTipHide

Publié : sam. 27/août/2005 11:27
par lionel_om
Droopy, ya déjà une fct API qui s'appèle URLDownloadToFile_().
Ca risque pas de poser des conflits ? :?

Publié : sam. 27/août/2005 11:34
par Dr. Dri
bah y'a un _ de différence nan ?
et pis y'a des chances que sa fonction ne soit qu'un appel vers celle de l'api... là où ca devient intéressant c'est si son CHM est bien documenté sur la fonction!!

Dri

Publié : sam. 27/août/2005 13:18
par Droopy
C'est en effet cette fonction de l'API qui est utilisée, mais ensuite le cache est vidé ( au cas ou le cache serait corrompus )

Code : Tout sélectionner

; Author : BackupUser
  ProcedureDLL URLDownloadToFile(Url.s,File.s)
  retour=URLDownloadToFile_(0, Url, File, 0, 0)
  DeleteUrlCacheEntry_(Url)
  If retour=0 : retour=1 : Else : retour=0 : EndIf
  ProcedureReturn retour
EndProcedure
Il n'y a aucun risque de conflit car il y a le _ de différence

Publié : sam. 27/août/2005 14:47
par lionel_om
Non, je n'ai rien dis :roll:
Il me semblait avoir eu un conflit de ce style une fois, mais j'ai dû réver (je ne retrouve plus le bug...)