Quoi, tu ne connais pas PB ? Va falloir parcourir tout le forum alors !

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 18-01-2013 14:31:07

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Création d'événements dans un agenda

Bonjour à tous,

Tout d'abord, je vous souhaite une très bonne année 2013... Oui, même à toi, là devant ton écran

Sinon... venons en au fait...
J'essaie d'envoyer des données de PB vers la messagerie de ma boite (Groupwise pour le moment) et plus précisément... j'essaie de créer des rendez-vous à partir d'un programme PB !

Et là, c'est le drame... J'ai beau chercher et retourner (à tous les sens du terme) la doc PB... je ne trouve rien de bien gras à me mettre dans le code C'est triste non ?

Bref j'étais parti sur la possibilité d'envoyer un mail en disant "attention, il s'agit en fait d'un rdv" mais je ne trouve pas ! Je suis désespérément désespéré !

Si z'avez une idée, une piécette, un morceau de pain à me filer... n'hésitez pas

Dernière modification par jordel (18-01-2013 14:31:23)


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

#2 28-01-2013 09:03:36

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Re: Création d'événements dans un agenda

Bon... après épluchage des docs Novell... j'ai mis en place un programme qui permet de mettre en place des rendez-vous (via Object API Novell).

Par contre, je suis bloqué à un endroit car... si le poste sur lequel on déploie l'appli ne dispose pas d'un client groupwise, alors les méthodes de l'API ne fonctionnent pas (normal).
De ce fait, je voulais savoir si certains savent s'il y a moyen de compiler le programme avec des dll spécifiques pour que tout soit OK ?

Merci d'avance.


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

#3 28-01-2013 09:37:16

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: Création d'événements dans un agenda

Salut et bonanné

pour ton problème ben... je dirais que c'est un problème GroupWise, pas un problème PB, ça me parait normal qu'il n'y ait rien là dessus dans la doc PB sinon il faudrait une doc PB qui reprends tous les programmes existants avec lesquels on pourrait vouloir interagir un jour.

Donc pour les dll c'est pareil, il te faut logiquement les dll spécifiques à GroupWise, à toi de voir si tu ne peux pas éventuellement les packager avec le reste de ton appli afin d"être sûr qu'elles soient installés sur le poste client où tu exécutes PB.


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#4 28-01-2013 10:32:31

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Re: Création d'événements dans un agenda

Oui... je suis conscient que le problème n'est pas du ressort de PB... mais je me demandais si dans la communauté, il y avait un "foromeur" (ce n'est pas sale) qui savait exactement quelles dll sont à packager ;)

C'est toujours un gain de temps et évite diverses tergiversations inutiles :P
Dommage pour moi


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

#5 28-01-2013 10:55:26

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: Création d'événements dans un agenda

Dependency Walker est peut-être ton ami : c'est un outil fait par quelqu'un de chez Microsoft (et dont certaines versions sont distribuées avec Visual Studio) qui te permet de lister quelles sont les modules externes nécessaires à une application.
- dès le démarrage
- ou chargées plus tard pendant l'exécution (on peut aussi tracker des problème d'exécution et tout un tas de choses intéressantes )

En gros
- tu installes dependencywalker.exe
- tu ouvres ton exe avec (il y a moyen de simplifier et d'ajouter au menu contextuel des .exe "View dependencies", il faut voir avec le menu "options / configure handled file extensions")
- tu as déjà les dépendances immédiates (pour que l'exe accepte de démarrer)
- tu démarres ton appli en mode profilage ("Profile / start profiling") ça va noter tous les chargements ultérieurs de dll (attention, ça ralentit aussi le fonctionnement)
- dans l'appli PB tu vas dans toutes les fonctionnalités histoire de ne pas louper une dll (exemple : dans la capture d'écran plus bas, on ne voit pas scilexer.dll, mais je sais que l'appli en a besoin seulement je suis pas allé dans un écran qui l'utilise pendant ma démo)
- dans dependency walker, tu obtiens un arbre des dépendances de dll et également une liste globale (je te conseille d'y faire un clic-droit / "full path" pour savoir où sont ces dll)
- tu n'as plus qu'à faire le tri entre les dll système, les "erreurs normales" de dll non trouvées (exemple: l'appli qui cherche kernel32.dll dans le répertoire de l'application) et les dll que tu as vraiment besoin de déployer

Exemple :

http://i.imgur.com/xDJbEeC.png

Dernière modification par seki (28-01-2013 13:16:19)


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#6 28-01-2013 12:51:09

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Re: Création d'événements dans un agenda

Ho un nouveau copain !
Je teste cela et je vous tiens au courant

PS : je venais juste de trouver un lien vers un topic parlant de ce soft justement


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

#7 28-01-2013 16:36:03

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Re: Création d'événements dans un agenda

Bon... premiers essais et toujours une erreur que je n'arrive pas à résoudre malgré les infos glanées sur google et sur le site du soft :
Second chance exception 0xC0000005 (Access Violation) occurred in "c:\dll_path\PBVM120.DLL" at address 0x10CB4D0C.

Une idée, vous avez, Seki ?
(Yoda Style)


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

#8 28-01-2013 16:41:56

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: Création d'événements dans un agenda

Mmmh, tout ce que je peux dire avec cette erreur, c'est que la VM de PB 12 plante en essayant d'accéder à une adresse mémoire invalide (pointeur erronné, bloc de mémoire libéré une nouvelle fois par erreur, ...).

Çà se produit sur le poste ou le client Groupwise est correctement installé ?
Est-ce que ça plante aussi en dehors de dependency walker ?


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#9 28-01-2013 16:54:20

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Re: Création d'événements dans un agenda

Alors... je viens de débusquer le problème... ce sont les librairies APPEON qui font planter le tout !
J'ai viré ces goujateries de mon projet, j'ai bidouillé pour ne plus avoir besoin d'elles... et hop ça fonctionne

Je m'en vais de ce pas tester le Texas Ranger de la dépendance ! ;)


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

#10 29-01-2013 09:13:36

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Re: Création d'événements dans un agenda

J'ai maintenant ma liste de DLL... mais une fois incluses dans mon appli portée sur APPEON... j'ai toujours aucune prise en charge des fonctions Novell...
Bizarre !

Je vais tester en créant un simple exe avec les DLL notées...


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

#11 31-01-2013 13:50:36

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Re: Création d'événements dans un agenda

Bon... bon... bon... N'avançant toujours pas dans le sens escompté, j'ai fait des recherches pures autour de la création d'événements dans des agendas.
Et parmi mes recherches diverses et variées, je suis tombé sur ce type de script PHP :

Code:

<?php
    $to   = ""; 
    $from = ""; 
    $subj = ""; 
    $msg  = ""; 
  
    $method="REQUEST";
    $file_att_type = "text/calendar; method=PUBLISH"; 
    $file_att_name = "metting.ics"; 

    $mime_boundary = "==Multipart_Boundary_x{" . md5(mt_rand()) . "}x"; 

    $header = "From: " . $from . "\r\n" . 
              "MIME-Version: 1.0\r\n" . 
              "Content-Type: multipart/mixed; boundary=\"{$mime_boundary}\""; 

    $cal_uid = "{" . date('Ymd').'T'.date('His')."-".rand()."@cordys.com}"; 

    $cal_msg = "BEGIN:VCALENDAR 
                    PRODID:-//Novell Inc//Groupwise 8.0.2 
                    VERSION:2.0 
                    METHOD:" .$method . " 
                            
                  BEGIN:VEVENT 
                      DESCRIPTION: meeting description, line 1 of 2.\nline 2 of 2.\n\n 
                      SUMMARY: meeting subject 
                      X-GWITEM-TYPE:APPOINTMENT
                      DTSTAMP:20120328T150401Z
                      TRANSP:OPAQUE 
                      X-GWSHOW-AS:BUSY
                      DTSTART:20130131T120000 
                      DTEND:20130131T130000 
                      LOCATION: my meeting location 
                      UID:" . $cal_uid . " 
                      PRIORITY:5 
                      X-GWCLASS:NORMAL
                      CLASS:PUBLIC 
                      STATUS:CONFIRMED

                      BEGIN:VTIMEZONE 
                          TZID:Europe/Paris 
                      END:VTIMEZONE 
                  END:VEVENT 
              END:VCALENDAR";
 
  $msg = "This is a multi-part message in MIME format.\n\n" . 
         "--{$mime_boundary}\n" .  
         "Content-Type: $file_att_type; name=$file_att_name\n" .  
         "Content-Disposition: inline; filename=$file_att_name\n" . 
         "Content-Transfer-Encoding: base64\n\n" .  
         chunk_split(base64_encode($cal_msg)) . "\n\n" .  
         "--{$mime_boundary}--\n";  
     
 (mail($to, $subj, $msg, $header, ""));
?>

Ma question est donc toute simple... Peut-on effectuer ce même type d'envoi de mail via PB ???
Est-ce qu'une librairie externe permettrait de le faire ? Genre http://www.topwizprogramming.com/freeco … lsmtp.html  ou http://pbnismtp.codeplex.com/

Merci d'avance


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

#12 31-01-2013 16:14:29

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: Création d'événements dans un agenda

Bonjour,

Il existe une norme pour l'échange de données dans les agendas : iCalendar voir http://fr.wikipedia.org/wiki/ICalendar

En survolant rapidement le script PHP, je pense qu'il s'agit d'une envoi à cette norme.

Sans problème, tu peux utiliser la librairie de topwizprogramming. Je l'utilise moi-même.

Hors ligne

 

#13 31-01-2013 17:22:41

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Re: Création d'événements dans un agenda

Ah cool merci Buck Cela me réconforte quelque peu

Par contre, petite interrogation comme ça, sans avoir creusé la chose...
Suis-je obligé de passer par un .ics ou je peux directement envoyer un rendez-vous dans l'agenda ???

Encore merci


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

#14 01-02-2013 13:22:48

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Re: Création d'événements dans un agenda

Alors... j'ai réussi à envoyer un fichier .ics... mais ce dernier n'est pas automatiquement ajouté à l'agenda.
Il faut que l'utilisateur l'ouvre et valide... pas top.

A la manière de PHP... puis-je faire du multipart en PB ??? (à ma connaissance non)


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

#15 01-02-2013 13:44:02

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: Création d'événements dans un agenda

Bonjour,

Avec cette norme, tu ne peux pas ajouter directement un rendez-vous dans l'agenda du destinataire :

iCalendar permet aux utilisateurs d'envoyer des demandes de rendez-vous, et de les transmettre à d'autres utilisateurs via emails. Les destinataires de l'email contenant l'iCalendar (s'ils possèdent un logiciel le supportant) peuvent facilement répondre à l'expéditeur ou proposer une autre date/heure de rendez-vous.

Le destinataire final doit accepter le rendez-vous pour l'ajouter à son agenda, ce qui me parait normal.

La librairie smtp topwizprogramming contient tout le nécessaire pour faire un envoi anologue au script PHP.

Hors ligne

 

#16 01-02-2013 14:10:10

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Re: Création d'événements dans un agenda

Merci pour la réponse Buck ;)

Par contre, j'ai trouvé une autre version du script PHP où voici la variable envoyée dans le mail :

Code:

$msg = "This is a multi-part message in MIME format.\n\n" . 
         "--{$mime_boundary}\n" .  
         "Content-Type: text/plain; charset=UTF-8\n" .  
         "Content-Transfer-Encoding: 8bit\n\n" .  
   "Item Type: Appointment\n" .
         $msg . 
  
         "\n\n--{$mime_boundary}\n" .  
         "Content-Type: $file_att_type; name=$file_att_name\n" .  
         "Content-Disposition: inline; filename=$file_att_name\n" . 
         "Content-Transfer-Encoding: base64\n\n" .  
         chunk_split(base64_encode($cal_msg)) . "\n\n" .  
         "--{$mime_boundary}--\n";

Et cela... permet d'envoyer un mail avec le Rendez-vous à accepter mais aussi... cela le place automatiquement dans l'agenda (en attente de validation).
C'est donc cela que j'essaie de reproduire !

Dernière modification par jordel (01-02-2013 14:10:34)


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

#17 02-02-2013 11:55:04

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: Création d'événements dans un agenda

Et bien, plusqu'à traduire cette construction de chaîne en pbscript !


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#18 11-02-2013 09:09:09

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Re: Création d'événements dans un agenda

J'ai contourné le problème en créant un webservice à partir de ce script PHP... Une fois appelé en PB... plus aucun souci

Par contre... je teste en passant par une classe Java (bah, oui tant que j'y suis, je m'amuse) et là, je rencontre un petit souci...
La création de ma classe Java est OK... la compil également... l'intégration avec l'objet ejb_proxy est OK...
Par contre, dès que je lance mon prog PB, j'ai toujours un blocage au niveau du CreateJavaInstance qui renvoie -1 "Failed to create Java class."

Au cas ou, voici mon code :

Code: pb

string properties[]
string ls_classpath
boolean lb_debug
long ll_return
EJBConnection lEJBConn
EmailRDV lnv_simple

lb_debug = false
ls_classpath = "Path\APPT_EMAILING\Java"

i_jvm = create javavm

TRY
  IF i_jvm.createJavaVM(ls_classpath, lb_debug) >= 0 THEN
    lEJBConn = CREATE EJBConnection
    ll_return = lEJBConn.CreateJavaInstance( lnv_simple, "EmailRDV")
    
    IF ll_return <> 0 THEN
      MessageBox("", "CreateJavaInstance returned " +string(ll_return))
      destroy lEJBConn
    ELSE
      TRY
        lnv_simple.send()
      CATCH (CreateException ce)
        MessageBox( "Create Exception", ce.getMessage() )
      CATCH (Throwable t)
        MessageBox(" Other Exception", t.getMessage())
      END TRY
    END IF
  ELSE
    MessageBox("createJavaVM", "Failed", StopSign!)
    DESTROY i_jvm
  END IF
CATCH (Throwable g)
  MessageBox("Exception in createJavaInstance", g.getMessage())
END TRY


Aurais-je zappé quelque chose dans le process ???

Dernière modification par jordel (11-02-2013 09:10:03)


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

#19 11-02-2013 12:52:57

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: Création d'événements dans un agenda

Bonjour,

Je n'ai jamais fait. Mais je pense qu'il peut s'agir d'un problème de version de Java. Tu n'aurais pas compilé ta classe en version 7 alors que les versions pris en charge par PB sont 1.5.XX ou 1.6.XX selon ta version de PB (C:\Program Files\Sybase\Shared\Powerbuilder\jdk1.X.X_XX).

Hors ligne

 

#20 11-02-2013 14:17:55

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Re: Création d'événements dans un agenda

Bardel... c'est possible

Je teste tout ça


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

#21 11-02-2013 15:09:23

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Re: Création d'événements dans un agenda

Bon... ça passe dans le " Other Exception" mais ça passe, c'est déjà ça


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

#22 13-02-2013 14:52:50

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Re: Création d'événements dans un agenda

Finalement... je vais laisser tomber l'ejb car ce n'est pas portable sur APPEON

Mais en tout cas... c'est pas mal pour importer du java dans ses projets PB et ça fonctionne nickel


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

#23 22-02-2013 08:38:55

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Re: Création d'événements dans un agenda

Re-bonjour à tous

Je continue mes tentatives et comme ça je teste de nouvelles choses dans PB Et là, je me suis tourné vers la création en C# d'une DLL qui permet d'envoyer un rdv de type VCALENDAR.
Quand je compile mon code C#en EXE et que j'exécute, all is right... donc je décide de porter cela en DLL pour appeler une fonction via les fonctions externes dans PB.

Ayant sans cesse des "runtime error"... j'ai lancé l'appli avec Dependency Walker et voilà ce qui me gène :

LoadLibraryW("d:\path_to_app\SendVcal.dll") called from "c:\dll_pb\PBSHR120.DLL" at address 0x0043E0A0.
Loaded "c:\windows\system32\MSCOREE.DLL" at address 0x79000000.  Successfully hooked module.
DllMain(0x79000000, DLL_PROCESS_ATTACH, 0x00000000) in "c:\windows\system32\MSCOREE.DLL" called.
GetProcAddress(0x7C800000 [c:\windows\system32\KERNEL32.DLL], "FlsAlloc") called from "c:\windows\system32\MSCOREE.DLL" at address 0x79006F3C and returned NULL. Error: La procdure spcifie est introuvable (127).
GetProcAddress(0x7C800000 [c:\windows\system32\KERNEL32.DLL], "FlsGetValue") called from "c:\windows\system32\MSCOREE.DLL" at address 0x79006F49 and returned NULL. Error: La procdure spcifie est introuvable (127).
GetProcAddress(0x7C800000 [c:\windows\system32\KERNEL32.DLL], "FlsSetValue") called from "c:\windows\system32\MSCOREE.DLL" at address 0x79006F56 and returned NULL. Error: La procdure spcifie est introuvable (127).
GetProcAddress(0x7C800000 [c:\windows\system32\KERNEL32.DLL], "FlsFree") called from "c:\windows\system32\MSCOREE.DLL" at address 0x79006F63 and returned NULL. Error: La procdure spcifie est introuvable (127).

GetProcAddress(0x7C800000 [c:\windows\system32\KERNEL32.DLL], "EncodePointer") called from "c:\windows\system32\MSCOREE.DLL" at address 0x7900315A and returned 0x7C9233FF.

Je voulais avoir vos avis et votre aide... car je n'arrive pas à bypasser ce souci

Dernière modification par jordel (22-02-2013 08:39:25)


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

#24 22-02-2013 09:58:26

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: Création d'événements dans un agenda

Kernel32 c'est le noyau windows.
MSCoree c'est "Microsoft .NET Runtime Execution Engine", le moteur de .Net

Les lignes que tu as mis en rouge, ce sont des tentatives pour trouver de manière dynamique avec GetProcAddress des fonctions relatives aux "fibres" (FlsAlloc, FlsGetValue, FlsSetValue, FlsFree avec fls = fiber local storage, une "unité d'exécution" - un truc lié au multithread) dans la dll du noyau.

En gros, au lieu d'un linkage directement dans la table d'import de la dll de ces fonctions (dans ce cas, si la dll importée ne trouve pas les fonctions dont elle énumère la liste, elle ne parvient pas à se charger et l'application qui va avec ne démarre pas et on voit un message indiquant qu'elle n'arrive pas à trouver une fonction censée être exportée par la dll), on passe par GetProcAddress() qui va chercher la fonction et retrouver son adresse ou NULL (pas trouvée) pour pouvoir l'appeler si on l'a trouvée.

Je suppose que le runtime .Net, qui peut être installé sur différentes versions de Windows, utilise ça pour vérifier les fonctionnalités de windows disponibles sur le système où il est.

Est-ce que le système où tu testes ça est XP ? parce que d'après MSDN ces fonctions ne sont disponibles en client qu'à partir de Vista, et 2003 en serveur.

Je ne pense pas que ce soit un problème, simplement DependencyWalker te montre toutes les accès à des dll, réussis ou non.


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#25 22-02-2013 13:28:05

jordel  
Membre completement Geek
Lieu: Creil
Date d'inscription: 06-05-2011
Messages: 133
Pépites: 286
Banque: 0
Site web

Re: Création d'événements dans un agenda

Merci pour les infos Seki

Oui, je teste ça sur XP mais je pensais que l'install du .net framework 4 suffirait pour lancer l'appli !

Là... typiquement quand je lance mon appli (non encore APPEONisée) j'ai un vilain message "PB application execution error (R0021)".
L'infâme me précise que "Error : Bad runtime function reference at line 87 in function gf_envoi_mail_dll of object gf_envoi_mail_dll"
A cette fameuse ligne 87, j'ai mon appel à ma fonction externe...


J'ai le bras long... et au bout de ce bras, il y a Chuck Norris !

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22