j'ai pas trop eu le temps de regarder. Mais en fait, ce que je comprend, c'est que tu as un projet sous Delphi - Windows et tu veux le faire tourner sous Linux.
C'est quoi comme type d'application?
j'ai pas trop eu le temps de regarder. Mais en fait, ce que je comprend, c'est que tu as un projet sous Delphi - Windows et tu veux le faire tourner sous Linux.
C'est quoi comme type d'application?
En fait, c'est une appli qui fait des Business Plan ( http://www.manager-pro.com ).
Nous sommes en train de développer d'autres outils du même type et je souhaite à terme offrir une version Linux (le choix de Delphi offrait notamment cet aspect par rapport à VB par exemple).
Je suis en train de tester les points chauds un par un avant de me lancer dans le portage à proprement parler.
Dans mes uses, je fais déjà le distingo MSWindows/Linux et j'ai été vigilent à n'utiliser (en dehors du RichEdit) que des choses pas trop liées au système.
Fred
De mon coté, vu que mon application tourne depuis 3 ans sous Windows, je suis passé à l'adaptation Kylix 3. Je suis en train de le faire, pour le moment, je n'ai pas de soucis majeur.
Juste une chose assez embetante : l'éditeur qui me signale que qu'aucun composant est lié. Il me demande d'enlever la déclaration. Car pour le moment, j'ai enlevé des composants dans le projet pour Kylix
Ce que je veux, c'est garder un même source avec éventuellement des composants spécifiques, mais en dupliquant le moins possible (pour que les évolutions se fassent sans tout reprendre à chaque fois).
Elle fait quoi ton appli?
C'est une application de devis facturation sous windows.
http://www.jcinformatique.com/files/ceproject_devisfacture.exe
Mon but est le même, je veux que le meme source se compile à la fois sous Delphi et sous Kylix 3
Cool. Je pense que les utilisateurs de Linux seront contents d'avoir accès à un tel logiciel.
Tes boutons sont chouettes.
Fred
Salut!Je souhaitais faire de même pour mon projet de jeu d'échecs...Envoyé par scob95
La solution a été d'utiliser Wine ou CrossOver pour éxécuter le programme Windows sous Linux. Il a fallu que je modifie quelques trucs afin d'être compatible, mais à présent, mon code est beaucoups plus propre et il n'y a qu'un seul éxé pour les 2 plateformes, à+
Le souci de mon appli avec Wine, en plus de ne pas être une vrai appli Linux, est au niveau des RichEdit (qui fonctionnent mal), de l'aide (mes fichiers .hlp ne s'ouvrent pas) et du fait qu'il faut installer IE5 (à cause du xml...).
Bref, ça fait beaucoup de contraintes.
Dis moi Sub0, est-ce qu'avec Wine, c'est une application globale, ou alors il faut lancer un émulateur, ensuite charger l'exe et l'exécuter, ou bien, juste aprés l'install du projet, on peut le lancer avec une seule icone?
( là, je ne sais pas si j'ai été bien clair! )
Pour faire une appli Linux avec wine, il faut utiliser winelib, mais c'est uniquement dispo pour le c (il me semble) et c++.
Donc là, tu dois installer Wine, puis lancer le setup de ton appli via wine (genre wine setup.exe), puis assocoer ton exe avec wine (comme un document associé à une appli).
CrossoverOffice facilite les choses en créant un menu des applis Windows installées.
ok. Ca à l'air pas mal. Mais je vais continuer à convertir mon projet pour le moment, je verrais bien.
Le problème c'est que j'utilise Delphi 7 et Kylix 3.
Le couple normal est D7 K3. Je commence à avoir des problèmes quand je reouvre mon projet sous D7. Il me génère des lignes automatiquement dans mon .DFM. Et quand je reviens sous K3, il ne comprend plus. ( exemple : DesignSize
Ca vient des différences entre vcl et clx, ce n'est pas lié directement dû Kylix ou à Delphi.
Non mais ça je sais bien. Mais le problème c'est que l'éditeur de Delphi 7, quand tu sauvegardes une unité, il fait une analyse.
Si il manque des associations comme StdCtrl pour le composant TEdit, il rajoute automatiquement.
Si un champ n'est plus défini dans le dfm, il demande à l'enlever
Je vais surement installé delphi 5, adapter mon projet D7 en D5, puis l'adapté à K3
Je fais un truc du genre
Uses
{$IFDEF MSWINDOWS}
Windows, StdCtrls,
{$ENDIF}
{$IFDEF LINUX}
QStdCtrls,
{$ENDIF}
Classes, SysUtils;
Et quand j'ai de nouvelles dépensances, je les range là où il faut...
Ca, je le fait, mais le problème est plus vicieux que ça.
C'est pas le compilateur qui me pose des problèmes, car avec des directives, tout s'arrange, mais c'est avec l'éditeur qui est disons "intelligent", mais dans ce cas, il m'emmerde! enfin, pour le moment! Puisqu'il a raison, les composants perdent leur liens entre le .pas et la .dfm
Pour éviter ce genre de problème, tu peux créer dynamiquement tes objets. Ainsi, ils ne seront pas dans le dfm mais direct dans le code du script .pas... Comme ça, Delphi ne pourra pas faire l'analyse du dfm, qu'en penses-tu ? Perso, j'utilise cette méthode pour éviter l'installation de composant; J'associe les unités nécessaires au projet et je crée dynamiquement l'objet. Lors de l'ouverture du projet dans Delphi, l'éditeur ne signalera pas : "Composant TMachin non installé." et ne cherchera donc pas à le supprimer du dfm puisqu'il n'y sera pas déclaré, à+
Ok, mais ça alourdit considérablement le travail de développement, surtout quand tu as une interface un peu fournie...
Ou alors juste sur certains points qui posent problème.
Pour la création dynamique, c'est ce que je suis en train de convertir. Je crée les objets dynamiquement dans les test de directive.
Mais ça va plus loin. Quand je charge un dfm avec D7, et que je la sauvegarde, il m'ajoute DesignSize dans le .DFM, c'est ça le prob!
Regarde ce que j'ai trouvé sur ce forum au sujet des HLP :
Pas moyen de passer raisonnablement d'un HLP Windows à une aide pour Kylix autrement que par du HTML.
Donc si quelqu'un se pose la même question et pour lui faire gagner du temps, il vaut mieux passer du rtf à du html, récupérer le browser par défaut dans la variable d'environnement et le lancer avec en ligne de commande son fichier d'aide en html...
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