Alors là je ne comprend rien, je n'ai rien modifié ds le programme
et je me prend ça ds les dents
S.O.S.
la compilation semble aller à son terme, j'ai le message: compilation réussie
le programme semble planter à la lecture du projet (lpr)
Alors là je ne comprend rien, je n'ai rien modifié ds le programme
et je me prend ça ds les dents
S.O.S.
la compilation semble aller à son terme, j'ai le message: compilation réussie
le programme semble planter à la lecture du projet (lpr)
Voilà qui ressemble à ton problème :
http://www.lazarus.freepascal.org/in...p?topic=8125.0
merci de ta réponse j'avais parcouru ce sujet, en gros il manquait Application.initialize à son projet ou bien il était mal classé, or chez moi il est bien présent (voir le screenshot), donc je nage et du coup plus rien ne marche
Oups ! Je n'avais pas bien regardé ta capture.
A ta place mettrais toutes les lignes Application.CreateForm(...) en commentaire histoire de voir si ça plante sans puis je les 'décommenterais' une par une pour voir si c'est l'une d'entre elles qui pose problème.
pas bête , j'ai essayé, mais hélas niet, nada
c'est vraiment terrible car ce bug est peu documenté sur le net et là mon projet est bloqué, j'espère que ça va inspirer qqu'un
le logiciel semble buggué dans ce module Win32WSControls, je copie sans comprendre la procedure où le programme s'arrête:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 procedure FinishCreateWindow(const AWinControl: TWinControl; var Params: TCreateWindowExParams; const AlternateCreateWindow: boolean); var lhFont: HFONT; AErrorCode: Cardinal; begin if not AlternateCreateWindow then begin with Params do begin if (Flags and WS_CHILD) <> 0 then begin // menu handle is also for specifying a control id if this is a child MenuHandle := HMENU(AWinControl); end else begin MenuHandle := HMENU(nil); end; {$ifdef WindowsUnicodeSupport} if UnicodeEnabledOS then Window := CreateWindowExW(FlagsEx, PWideChar(WideString(pClassName)), PWideChar(UTF8ToUTF16(WindowTitle)), Flags, Left, Top, Width, Height, Parent, MenuHandle, HInstance, nil) else Window := CreateWindowEx(FlagsEx, pClassName, PChar(Utf8ToAnsi(WindowTitle)), Flags, Left, Top, Width, Height, Parent, MenuHandle, HInstance, nil); {$else} Window := CreateWindowEx(FlagsEx, pClassName, PChar(WindowTitle), Flags, Left, Top, Width, Height, Parent, MenuHandle, HInstance, nil); {$endif} if Window = 0 then begin AErrorCode := GetLastError; DebugLn(['Failed to create win32 control, error: ', AErrorCode, ' : ', GetLastErrorText(AErrorCode)]); raise Exception.Create('Failed to create win32 control, error: ' + IntToStr(AErrorCode) + ' : ' + GetLastErrorText(AErrorCode)); end; end; { after creating a child window the following happens: 1) the previously bottom window is thrown to the top 2) the created window is added at the bottom undo this by throwing them both to the bottom again } { not needed anymore, tab order is handled entirely by LCL now Windows.SetWindowPos(Windows.GetTopWindow(Parent), HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE); Windows.SetWindowPos(Window, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE); } end;
Quelque chose qui ressemble à ton problème :
http://www.mail-archive.com/lazarus@.../msg09814.html
oui ce sujet déjà ancien signale visiblement un BUG, mais franchement je ne comprend absoluement rien à ce qui est expliqué à l'intérieur, il s'agit du programmes du coeur de lazarus et je me vois mal bidouiller là dedans, en tout cas merci de t'investir ds ce dépannage
de quoi avoir vraiment des regrets de ne pas avoir delphi
dans la clause Uses :
mets tout les appel aux unité JDR* à la fin :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 program Project1; {$mode objfpc}{$H+} uses {$IFDEF UNIX}{$IFDEF UseCThreads} cthreads, {$ENDIF}{$ENDIF} Interfaces, Forms, LResources, { you can add units after this } Unit1, Unit2, Unit3, Unit4, Unit5; {$IFDEF WINDOWS}{$R project1.rc}{$ENDIF} begin {$I project1.lrs} Application.Initialize; Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm2, Form2); Application.CreateForm(TForm3, Form3); Application.CreateForm(TForm4, Form4); Application.CreateForm(TForm5, Form5); Application.Run; end.
attention aux appels aux fiches dans les OnCreate et Initialization des unité.
par exemple la Fiche 1 ne peut appeler la Fiche 2 dans son OnCreate puisque la fiche 2 n'est pas encore créée!
[ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
Ma messagerie n'est pas la succursale du forum... merci!
en fait j'avais encore jamais touché à cette unité, je viens d'essayé ta méthode, mais en fait les unités ne sont pas dans un ordre précis 1, 2, 3, ...
malheureusement ça ne change rien , la poisse,
voila le screen:
3 choses que tu pourrais essayer :
- Compiler ton projet sous un autre OS (ubuntu par exemple)
- Compiler ton projet avec une autre version de Lazarus plus ancienne (0.9.26) ou plus récente (daily snapshot).
- Poster ton projet ici s'il n'est pas top secret
merci baytann tu as plein d'idées
donc sous ubuntu j'ai eu une erreur à l'ouverture de toutes mes unités et fiches et au final j'ai pas pu compiler, comme quoi être multiplateforme est p-e bien en théorie, mais en pratique ...
ensuite je viens d'essayer la version 0926, après 2 ou 3 erreurs minimes il a effectivement réussi à compiler sous windows7 mais pour finir avec la même exception
enfin poster tout ici ça risque d'être un peu indigeste, de plus j'ai pas envie de me faire tailler en pieces par les pros , surtout ça fait beaucoup trop de code pour un forum, mine de rien ça fait 3 mois que je bidouille le jeu et ça commence à faire pas mal
bref je suis complètement bloqué, et prêt à tout jeter à la poubelle
à moins que Delphi puisse importer mes unités ???
Le passage windows/linux marche plutôt bien pourtant en ce qui me concerne... C'était quoi tes erreurs à l'ouverture de tes fiches ?
Le mieux ce serait quand même que tu postes un zip de ton projet (sans l'éxecutable, les *.ppu et les *.o bien sûr ce sera plus léger). Tout ce que tu risques c'est :
- trouver la solution à ton problème
- recevoir des conseils pour progresser
des erreurs diverses dont une répétitive sur un format de fonte
voilà un screen
pour le zip je vais essayer sur megaupload, vous l'aurez voulu
http://www.megaupload.com/?d=GOXI8ABC
Vu ta capture d'écran ta version d'ubuntu doit être un peu vieille non ? Tu devrais la mettre à jour.
Ta version de Lazarus ne prend pas en charge certaines fonctionnalités que tu as utilisé dans ton projet donc --> mise à jour vers ubuntu 9.10.
oui en effet j'ai un hardy heron 8.04 LTS ds un coin de mon disque dur qui tourne nickel chrome et je m'en sers très très peu, j'ai fais 2 x la maj 9.10 et le pc buggue, il freeze, aussi j'ai remis 8.04 qui me permet de surfer tranquille
mais bien sur je veux bien ressayer l'upgrade
Le zip de ton projet est incomplet. Il manque les '.lpi', '.lrs', '.rc' et peut être d'autres trucs. Tu as compresser tout le répertoire du projet ?
Pour l'upgrade de la ubuntu je ne pense pas que tu puisse passer direct d'une 8.04 à 9.10. Je pense qu'il faut faire : 8.04->8.10->9.04->9.10. Bref autant installer direct un 9.10.
désolé j'ai essayé de pas mettre tout, ya une telle quantité de fichiers
essaie ça:
http://www.megaupload.com/?d=SS82IJF4
Verdict : chez moi ça marche. Mais bon je suis sous Ubuntu donc ton problème ne doit se produire que sous Windows mais j'ai pas ça chez moi. Je pourrais essayer demain au boulot sous Windows XP.
Un petit détail quand même. Pour pouvoir compiler j'ai du modifier légèrement une ligne de ton code pour que ça compile sous Linux.
{$I projetJDR.lrs} --> {$I ProjetJDR.lrs}
Pour éviter ce genre de pbs je te conseille de donner à tes fichiers des noms en minuscules (tu peux très bien nommer ton unité JDRMarket et ton fichier 'jdrmarket.pas').
un gros merci mon ami, ton obstination me dope, je suis sous windows seven RC, celui qui expire ds qqs mois et p-e y a til un petit bug lazarus sous cet OS
je vais donc faire ce que tu me recommande, installer Ubuntu 9.10, et p-e remettre windows xp, j'ai pas envie d'acheter seven, même si cet OS est excellent, j'ai déjà payé vista sur ce PC que j'ai jeté tellement c'était insupportable de lenteurs, pas question de donner un kopec de plus à ce voyou de microsoft.
en tout cas te voilà beta testeur du Jeu
encore MERCI
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