IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ Delphi .NET

FAQ Delphi .NETConsultez toutes les FAQ

Nombre d'auteurs : 15, nombre de questions : 54, dernière mise à jour : 16 juin 2021 

 
OuvrirSommaire IDE Delphi .NET

Pour ce faire on redéclare l'attribut DebuggableAttribute :
La propriété IsJITOptimizerDisabled : Indique si l'optimiseur du runtime est désactivé.

* La valeur True augmente les performances d'exécution pour le debugger, ce qui peut diminuer les performances d'exécution de l'application.
* La valeur False augmente les performances d'exécution de l'application.

Propriété IsJITTrackingEnabled : Indique si le runtime récupére, pendant la génération de code, des informations pour le debugger.
Cette propriété ne commande pas le debugger, mais informe le compilateur (JIT) de produire des informations utilisable par le débugger.

 
Sélectionnez
					[assembly: Debuggable(False, False)]

Sous Delphi 2005, cet attribut est positionné par défaut à

 
Sélectionnez
					[assembly: Debuggable(True, False)]

Code d'exemple :

 
Sélectionnez
					// Aucune information de debbugage
					{$A-,B-,C+,D-,E-,F-,G+,H+,I+,J-,K-,L-,M-,N+,O+,P+,Q+,R+,S-,T-,U-,V+,W-,X+,Y-,Z1}
					{
					C+ = Directives d'assertion
					D+ = Informations de débogage
					Y+ = Déclaration de symboles et informations de référence croisée.
					}

					program DebugAttribut;

					{$APPTYPE CONSOLE}

					uses
					SysUtils,
					System.Diagnostics;

					[assembly : Debuggable(False, False)]

					function QueryPerformanceCounter(out lpPerformanceCount: Int64):LongBool; external 'kernel32.dll';

					var StartCount, EndCount: Int64;
					i, j, k: Integer;
					begin
					QueryPerformanceCounter(StartCount);
					i := 0;
					while i < 1000000 do
					begin
					k := ((i*2)+2);
					i := k div 2;
					dec(i);
					j := i;
					inc(j);
					i := j;
					end;
					QueryPerformanceCounter(EndCount);
					Writeln(Convert.ToString(EndCount-StartCount));
					Readln;
					end.
Créé le 20 mai 2005  par Laurent Dardenne

L'utilisation du menu Outils permet ce type d'intégration, l'utilisation du script console suivant permet l'appel de l'utilitaire sn.exe :

 
Sélectionnez
					@echo off
					rem Fichier MakeSN.cmd
					rem Crée un nom fort pour un assembly en utilisant le nom du fichier projet en cours
					rem Lignes à insérer dans le menu Outils :

					rem Titre      : Strong Name
					rem Programme  : C:\WINDOWS\system32\cmd.exe
					rem Répertoire : C:\WINDOWS\system32
					rem Paramètres : /K "VotrePath\MakeSN.cmd" $Exename
					rem Modifier le nom de répertoire.

					rem Dans le batch %1 correspond à $Exename
					rem %NetSamplePath% pointe sur le chemin du SDK .NET, utilisez Call Sdkvars.cmd (script du SDK .NET)
					rem Il est préférable de déclarer la variable d'environnement
					rem %NetSamplePath% dans la fenêtre variable d'environnement de l'onglet Avancé des propriétés Système.

					For /F "tokens=*" %%I in  ('Echo %1') do "%NetSamplePath%Bin\sn.exe" -k "%%~dpnI.snk"
					if errorlevel 1 goto Erreur
					if errorlevel 0 goto Fin
					:Erreur
					Echo.
					rem génération en OEM
					Title Erreur de g,n,ration de nom fort.
					Echo Erreur de g,n,ration de nom fort.
					pause
					:Fin
					rem Termine le shell
					Exit

Modifier le nom du répertoire dans la zone de saisie Paramètres.

Remarque :
Il est conseillé d'adopter une politique de signature cohérente de vos assemblages en utilisant toujours la même clé pour la signature.
Il est aussi possible de créer un modéle d'unité dédiée qui renseigne les attributs suivant :

 
Sélectionnez
					...
					[assembly: AssemblyDelaySign(False)]
					[assembly: AssemblyKeyFile('FullPath\VotreFichierDeClé')]
					[assembly: AssemblyKeyName('votreClé')]
					...

Voir le fichier template :
C:\Program Files\Borland\BDS\3.0\Objrepos\DelphiDotNet\AssemblyInfoTemplate.pas

Créé le 20 mai 2005  par Laurent Dardenne

Le WebService BabelCode est un outil en version Beta qui permet de convertir du code C# vers Delphi.Net. Il ne peut être utilisé sous l'édition Personnel de Delphi 2005 parce que celles-ci ne permettent pas l'ajout de références Web.

Nous allons utiliser deux RichTextBox : un pour afficher le code C# et un autre pour afficher le code Delphi.Net correspondant après conversion. Un bouton sera également ajouté sur la fiche pour lancer l'opération.

Mais avant cela, il faut ajouter la référence au WebService.
Pour le faire, aller dans le menu Project-Add Web reference et ajouter le lien vers la description du service. Utilisez ensuite l'option Add Reference pour charger le convertisseur.

Il ne vous reste plus qu'à implémenter les fonctions pour charger le premier RichTextBox avec du code C# et sur l'évènement OnClick du bouton, saisissez :

 
Sélectionnez
					procedure TWinForm.btnConvert_Click(sender: System.Object; e: System.EventArgs);
					begin
					rtbDelphiCode.Text := BabelCode.Create.CSharpToDelphi(rtbCSharpCode.Text);
					end;

Voilà. A noter que cette WebService est encore en version Beta et que la conversion ne sera pas forcément parfaite. Vous pouvez par ailleurs consulter cet excellent tutoriel de Laurent Dardenne sur la conversion du code C# vers Delphi .NET.

Créé le 11 avril 2013  par King Kaiser

Lien : Conversion du langage C# vers Delphi 2005 pour .NET
Lien : Using the Borland WebService BabelCode
Lien : La faq C#

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2009 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.