(Résolu) Problème d'exécutable...

Codes specifiques à MacOS X
Good07
Messages : 308
Inscription : ven. 23/avr./2004 18:08
Localisation : Hérault 34190 Laroque

(Résolu) Problème d'exécutable...

Message par Good07 »

Bonjour à tous,

J'ai un problème avec PureBassic sur mon Mac que je n'arrive pas à résoudre. J'ai créé un petitt programme tout simple pour un ami celui-ci affiche un texte sur un échiquier en utilisant le saut du cavalier. Le programme fonctionne très bien chez moi. Le problème que je rencontre c'est lorsque je génère un éxécutable de celui-ci pour lui envoyer car, il ne possède pas PureBasic.
Bon je vous passe la galère de l'envoie qui est constamment refusé car, celui-ci est considéré comme un virus et donc Mail refuse de l'envoyé. Je passe donc par DropBox et là pas de problème d'envoie ou de réception.
Mais il se heurte à autre problème à l'exécution de celui-ci:
"Impossible d'ouvrir "Echiquier", car cette app provient d'un développeur non identifié. Vos préférences de sécurité ne permettent que l'installation d'apps du Mac App Store et développeurs identifiés"
Bon normalement en cliquant sur l'icône du programme en maintenant la touche control enfoncée, on passe outre à cette notion de sécurité. Malheureusement, même dans ce cas, impossible de lancer le programme par le menu contextuel qui apparaît. Si je fais cette manip chez moi, ça marche sans problème, mais même sans elle je peux exécuter mon programme sans problème donc dur de vérifier.
Je peux vous donner le lien sur DroBox pour télé&charger l'exécutable, mais je pense que personne ne prendra ce risque en ayant peur qu'il s'agisse d'un virus.
Je vous donne donc le listing de celui-ci, au plus courageux d'entre vous de vérifier si celui-ci une fois compilé fonctionne sur un autre Mac.
Pour information, j'utilise la version : PureBasic 5.70 LTS (MacOS X - x64)
Je me pose la question de savoir si cela provient d'un mauvais réglage de mon compilateur ? ? ?
Voici le listing du programme:

Code : Tout sélectionner

; Good07 le 02/02/2019
; PureBasic 5.70 LTS 64 bits

Enumeration
  #WindowsEchiquier
EndEnumeration

Enumeration
  #Echiquier_1
  #Echiquier_2
  #Echiquier_3
  #Echiquier_4
  #Echiquier_5
  #Echiquier_6
  #Echiquier_7
  #Echiquier_8
  #Cadre_Echiquier_ref
  #Echiquier_ref
  #Echiquier_ref2
  #CanvasResultat
  #EditeurResultat
  #Beffacer
  #Benregistrer
EndEnumeration

Global Texte.s, Lettre.S
Texte.s="XNLSPANNASITTIATEXRRPBTEUCAEENIRXTGEENDELORSIAAOELEFSDQRPEDCUPGX"
Procedure EcritureEchiquier(Emplacement)
  Pasx=8
  Pasy=5
For n=1 To 64
  Read.i a
   StartDrawing(CanvasOutput(Emplacement))
   DrawingMode(#PB_2DDrawing_Transparent)
  Lettre=Mid(Texte,a,1)
  DrawText(Pasx,Pasy,Lettre,RGB(255,0,0))
  Pasx+25
  Select n
    Case 8
      Pasy=30
      Pasx=8
    Case 16
      Pasy=55
      Pasx=8
    Case  24
      Pasy=80
      Pasx=8
    Case 32
      Pasy=105
      Pasx=8
    Case 40
      Pasy=130
      Pasx=8
    Case 48
      Pasy=155
      Pasx=8
    Case 56
      Pasy=180
      Pasx=8
  EndSelect
  StopDrawing()
Next n
EndProcedure


Procedure OpenWindowEchiquier(x = 100, y = 100, width = 1024, height = 920)
  OpenWindow(#WindowsEchiquier, x, y, width, height, "Traitement Echiquier", #PB_Window_SystemMenu)
  SetWindowColor(Window_0, RGB(169,238,255))
  FrameGadget(#Cadre_Echiquier_ref,10,13,470,250,"Grille de traitement")
  CanvasGadget(#Echiquier_ref, 30, 43, 200, 200, #PB_Canvas_Border)
  CanvasGadget(#Echiquier_ref2, 258, 43, 200, 200,#PB_Canvas_Border)
  CanvasGadget(#Echiquier_1, 30, 283, 200, 200, #PB_Canvas_Border)
  CanvasGadget(#Echiquier_2, 258, 283, 200, 200, #PB_Canvas_Border)
  CanvasGadget(#Echiquier_3, 486, 283, 200, 200, #PB_Canvas_Border)
  CanvasGadget(#Echiquier_4, 714, 283, 200, 200, #PB_Canvas_Border)
  CanvasGadget(#Echiquier_5, 30, 503, 200, 200, #PB_Canvas_Border)
  CanvasGadget(#Echiquier_6, 258, 503, 200, 200, #PB_Canvas_Border)
  CanvasGadget(#Echiquier_7, 486, 503, 200, 200, #PB_Canvas_Border)
  CanvasGadget(#Echiquier_8, 714, 503, 200, 200, #PB_Canvas_Border)
  CanvasGadget(#CanvasResultat, 10, 750, 1000, 150, #PB_Canvas_Container)
  EditorGadget(#EditeurResultat,250,50,600,50,#PB_Editor_ReadOnly)
  ButtonGadget(#Benregistrer,250,110,130,25,"Enregistrer",#PB_Button_Default)
  ButtonGadget(#Beffacer,380,110,130,25,"Effacer")
  StartDrawing (CanvasOutput(#Echiquier_ref))
  Box(0,0,200,200,RGB(245,243,175))
  StopDrawing()
  StartDrawing(CanvasOutput(#CanvasResultat))
  DrawingMode(#PB_2DDrawing_Transparent)
  DrawText(10,50,"Pour mettre un texte",RGB(0,0,0))
  DrawText(10,70,"dans la fenêtre résultat",RGB(0,0,0))
  DrawText(10,90,"cliquez sur l'échiquier de votre choix.",RGB(0,0,0))
  DrawText(250,30,"Résultat",RGB(0,0,0))
  StopDrawing()
EndProcedure
OpenWindowEchiquier()
Restore Cavalier1
EcritureEchiquier(#Echiquier_1)
Restore Cavalier2
EcritureEchiquier(#Echiquier_2)
Restore Cavalier3
EcritureEchiquier(#Echiquier_3)
Restore Cavalier4
EcritureEchiquier(#Echiquier_4)
Restore CavalierInverse1
EcritureEchiquier(#Echiquier_5)
Restore CavalierInverse2
EcritureEchiquier(#Echiquier_6)
Restore CavalierInverse3
EcritureEchiquier(#Echiquier_7)
Restore CavalierInverse4
EcritureEchiquier(#Echiquier_8)
Restore CryptoReference
EcritureEchiquier(#Echiquier_ref)

DataSection
  Cavalier1:
    Data.i 19,36,21,38,28,22,37,20,30,45,62,56,39,24,7,13,3,9,26,41,35,50,60,54,64,47,32,15,5,11,1,18,33,27,44,29,46,52,58,43,49,34,17,2,12,6,16,31,48,63,53,59,42,57,51,61,55,40,23,8,14,4,10,25
  Cavalier2:
    Data.i 22,37,20,35,29,19,36,21,27,44,59,49,34,17,2,12,6,16,31,48,38,55,61,51,57,42,25,10,4,14,8,23,40,30,45,28,43,53,63,46,56,39,24,7,13,3,9,26,41,58,52,62,47,64,54,60,50,33,18,1,11,5,15,32
  Cavalier3:
    Data.i 46,29,44,27,37,43,28,45,35,20,3,9,26,41,58,52,62,56,39,24,30,15,5,11,1,18,33,50,60,54,64,47,32,38,21,36,19,13,7,22,16,31,48,63,53,59,49,34,17,2,12,6,23,8,14,4,10,25,42,57,51,61,55,40
  Cavalier4:
    Data.i 43,28,45,30,36,46,29,44,38,21,6,16,31,48,63,53,59,49,34,17,27,10,4,14,8,23,40,55,61,51,57,42,25,35,20,37,22,12,2,19,9,26,41,58,52,62,56,39,24,7,13,3,18,1,11,5,15,32,47,64,54,60,50,33
  CavalierInverse3:
    Data.i 54,39,52,23,56,11,50,25,41,22,55,38,51,24,57,12,20,53,40,35,10,37,26,49,33,42,21,2,7,4,13,58,64,19,34,5,36,9,48,27,43,32,1,8,3,6,59,14,18,63,30,45,16,61,28,47,31,44,17,62,29,46,15,60
  CavalierInverse2:
    Data.i 60,15,46,29,62,17,44,31,47,28,61,16,45,30,63,18,14,59,6,3,8,1,32,43,27,48,9,36,5,34,19,64,58,13,4,7,2,21,42,33,49,26,37,10,35,40,53,20,12,57,24,51,38,55,22,41,25,50,11,56,23,52,39,54
  CavalierInverse1:
    Data.i 31,44,17,62,29,46,15,60,18,63,30,45,16,61,28,47,43,32,1,8,3,6,59,14,64,19,34,5,36,9,48,27,33,42,21,2,7,4,13,58,20,53,40,35,10,37,26,49,41,22,55,38,51,24,57,12,54,39,52,23,56,11,50,25
  CavalierInverse4:
    Data.i 25,50,11,56,23,52,39,54,12,57,24,51,38,55,22,41,49,26,37,10,35,40,53,20,58,13,4,7,2,21,42,33,27,48,9,36,5,34,19,64,14,59,6,3,8,1,32,43,47,28,61,16,45,30,63,18,60,15,46,29,62,17,44,31
  CryptoReference:
    Data.i 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64
EndDataSection

  Repeat
  Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
      Select EventWindow()
        ;/ Fermeture des fenêtres 
        Case #WindowsEchiquier
          CloseWindow(#WindowsEchiquier)
          Quit = #True 
      EndSelect
  EndSelect
Until Quit
End
Merci d'avance à tout ceux qui voudrons bien se pencher sur ce problème. :D
Pour les plus courageux, voici le lien de l'exécutable que j'obtiens sur DropBox.
https://www.dropbox.com/s/db1gmpcri6vbn ... quier?dl=0
Dernière modification par Good07 le lun. 04/févr./2019 21:04, modifié 1 fois.
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: Problème d'exécutable...

Message par djes »

Good07
Messages : 308
Inscription : ven. 23/avr./2004 18:08
Localisation : Hérault 34190 Laroque

Re: Problème d'exécutable...

Message par Good07 »

Bonsoir djes,
Mon ami utilise un Mac sous Yosemite version 10.10.5. Mais en fait, le problème ne vient pas de là, car j'ai trouvé la solution peu de temps après avoir posté sur le forum.
Le problème venait de DropBox qui dénature le fichier pendant son envoie. Il semble qu'à l'arrivé le fichier ait perdu son attribut d'exécutable et pourtant à la compilation je lui donnais bien un nom suivit de .APP. Mais à la réception le fichier n'était plus qu'un vulgaire fichier texte.
Alors j'ai refais un envoie en utilisant wetransfer qui m'a demandé un fichier ZIP et là, miracle plus de problèmes le programme marche normalement.
Je vais de ce pas mettre résolu sur le post.

Merci à tous.
Marc56
Messages : 2146
Inscription : sam. 08/févr./2014 15:19

Re: (Résolu) Problème d'exécutable...

Message par Marc56 »

Je ne connais plus le mac depuis qu'ils sont passés sur une base unix (j'en suis resté au système 6, années 90')
Mais normalement si c'est de l'unix (en fait NetBSD je crois) il suffit d'aller dans une console, et de changer les attributs (+x)
Transférer un fichier sans programme préservant les attributs lui fait perdre ceux-ci d'où l'idée d'en faire une archive qui conserve ceux-ci.
Un fichier transféré ne devient pas un fichier texte. Pour connaitre son type, taper $ file nom_du_fichier
Répondre