Here is the test forgot ...
===> 'ProjectFile * cbProject::GetFile int()' <===
===> 'wxArrayString ProjectFile.buildTargets' <===
using the script 'lisfilesproject.script' as follows:
/*******************************************************************************
 * Name:      listfilesproject.script
 * Purpose:   Script plugin in CODE::BLOCKS
 * Author:    LETARTARE	(http://forums.codeblocks.org)
 * Created:   2011-12-08
 * Version    0.3.0
 * Copyright: LETARTARE
 * License:   GPL
 ******************************************************************************/
///-----------------------------------------------------------------------------
/// use new methods (patch 'reimplement_GetFile_index_20111207-1.patch')
/// ===> 'ProjectFile * cbProject::GetFile(int)' <===
/// ===> 'wxArrayString ProjectFile::buildTargets' <===
///  svn in 7888 .. 7600
///-----------------------------------------------------------------------------
///-----------------------------------------------------------------------------
/// display all files projects with cibles
	// affiche tous les fichiers avec leurs cibles
///-----------------------------------------------------------------------------
class DisplayAllFilesProject extends cbScriptPlugin {
/// members
	// membres
	VERSION = _T("0.3.0");
///-----------------------------------------------------------------------------
/// mandatory to init script plugin
	// obligatoire pour initialiser le script d'extension
///-----------------------------------------------------------------------------
	constructor()	{
	/// constructor base class
		// constructeur de la classe de base
		cbScriptPlugin.constructor();
	/// setup the plugin's info
		// les informations de l'extension
		info.name = _T("DisplayAllFilesProject");
		info.title = _("Display files project");
		info.version = VERSION;
		info.license = _T("GPL");
	}
///-----------------------------------------------------------------------------
/// to create context menu entries
	// pour créer les entrées du menu de contexte
///-----------------------------------------------------------------------------
	function GetModuleMenu(who, data)	{
		local entries = ::wxArrayString();
	    if (who == ::mtProjectManager)   {
            entries.Add(_("Display files project"), 1);
	    }
		return entries;
	}
///-----------------------------------------------------------------------------
/// calback for context menu items clicking
	// évènement lors d'une action sur les entrées du menu de contexte
///-----------------------------------------------------------------------------
	function OnModuleMenuClicked(index)	{
		main();
	}
///-----------------------------------------------------------------------------
///displays all files of each target on script console
	// affiche dans la console de script, les fichiers de chaque cible
///-----------------------------------------------------------------------------
	function main() {
		/// general
		local Project = GetProjectManager().GetActiveProject();
		local Ntargets = Project.GetBuildTargetsCount() ;
		local Nf = Project.GetFilesCount();
		//----------------------------------------------
		/// file relative name
		local name;
		/// informations
		local Mes = _T("Project : '") + Project.GetTitle() + _T("' : ") ;
		Mes += Nf.tostring() + _T(" files, ") ;
		Mes +=  Ntargets.tostring() + _T(" targets : ") ;
		::print(Mes );
	/// array targets
		local tabtargets;
		local nt;
		local target;
		local prjfile;
		// all files
		for (local u =0 ; u < Nf; u++ ) {
///------------------ patch to 'Project' class ---------------------------------
			prjfile = Project.GetFile(u);
///-----------------------------------------------------------------------------
			name = prjfile.relativeFilename
			/// copy
///----------------- patch to 'ProjectFile' class ------------------------------
			tabtargets = prjfile.buildTargets;
///-----------------------------------------------------------------------------
			nt = tabtargets.GetCount();
			Mes = u.tostring() + _T("- '") + name + _T("'") ;
			Mes += _T("	is linked to ") + nt.tostring() + _T(" target(s)")
			::print(Mes);
			Mes = _T("");
			/// all file targets
			for (local t=0; t < nt; t++) {
				target = tabtargets.Item(t);
				Mes += _T("	'")+  target + _T("',") ;
			}
			::print (Mes);
		}
	}
///-----------------------------------------------------------------------------
}	/// class end
///-----------------------------------------------------------------------------
/// this call actually registers the script plugin with Code::Blocks
	// register le script d'extension dans Code::Blocks
///-----------------------------------------------------------------------------
RegisterPlugin(DisplayAllFilesProject());
///-----------------------------------------------------------------------------
 everything is working properly.@jens
How do svn <= 7587 (at least for release 10.05 and svn7550) ?
secondly, why allow access directly to the attributes of 'ProjectFile'?
why not use access methods such as 'GetBuildTargets ()' or 'GetRelativeFilename' because the user does not have to change these variables?