Au temps pour moi, j'ai pris la conversion en cours de route
par contre je n'ai pas pu tester ton code...ce doit être une erreur à la con, mais je n'ai pas suffisamment l'habitude de Lazarus pour savoir ce que c'est
Hint: Start of reading config file D:\lazarus\fpc\2.2.4\bin\x86_64-win64\fpc.cfg
Hint: End of reading config file D:\lazarus\fpc\2.2.4\bin\x86_64-win64\fpc.cfg
Free Pascal Compiler version 2.2.4 [2009/10/26] for x86_64
Copyright (c) 1993-2008 by Florian Klaempfl
Target OS: Win64 for x64
Compiling MyDLL.lpr
Compiling Fntr.pas
Compiling resource C:\Users\Execute\Downloads\TestDLL\Fntr.lfm
Error!
Wrong extension given for source file - must be RC or RES
RES file not made
Fntr.pas(35,1) Error: Error while linking
Fntr.pas(35,1) Fatal: There were 1 errors compiling module, stopping
Je viens de télécharger mon zip placé dans le rapport de bug 20320, puis j'ai compilé les deux parties (l'exe et la dll) : pas de problème de compilation.
Je travaille avec lazarus 0.9.30 et fpc 2.4.2. est-ce peut-être ta version 2.2.4 qui pose problème ???
Cordialement.
Pierre
c'était peut-être un pb 64bits, je viens de passer avec la dernier version 32bits et ça fonctionne..
quand à ton code il suffit d'ajouter un Application.Initialize avant la création de TForm1 (dans la DLL donc) pour que ça fonctionne
Grâce à cette petite instruction "Application.Initialize", mon projet qui prenait l'eau, revit. Je t'en remercie pleinement .
Pour autant, ce n'est pas au hasard que tu as ajouté cette instruction. Je viens de lire la doc de DELPHI 6 où il est dit :
"Elle appelle le pointeur de procédure InitProc. Par défaut, l'appel de la méthode Initialize d'une application ne fait rien, car le pointeur InitProc par défaut vaut nil."
Elle ne fait rien, mais elle a tout fait. As-tu une explication.
NOTA : je n'ai fait le test que sous Windows car, pas plus tard qu'hier, un plantage de Lazarus (sur ces problèmes) m'a provoqué un plantage de Ubuntu et un redémarrage à chaud à provoqué le plantage du lanceur dualboot. Je te tiendrai au courant quand j'aurai réparé tout cela.
Cordialement.
Pierre
et bien sous Delphi 6 en effet elle en fait pas grand chose...c'est très différent sous Lazarus ou elle fait un tas de choses, et sans doutes des choses indispensables à TForm1
je ne me suis pas réellement posé la question en fait, j'ai juste constaté que cette méthode est invoquée dans un DPR classique et là non, j'ai testé, ça a marché
Bonjour,
Alors là, je dis : Chapeau bas, Paul !
Et oui sous Delphi, ce n'est pas utile d'autant plus que la procédure Initialise ne fait qu'appeler la procédure InitProc si elle est implémentée, ce que je n'ai que très rarement vu et utilisé aussi... Mais nous sommes sous Lazarus.
Et contrairement à toi, je n'ai pas poussé le raisonnement plus loin !
Alors, je me permets de rajouter :
--
Philippe.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager