Показать сообщение отдельно
Старый 02.10.2009, 17:00
nick_van_rijn вне форума Посмотреть профиль Отправить личное сообщение для nick_van_rijn Найти все сообщения от nick_van_rijn
  № 3  
Ответить с цитированием
nick_van_rijn

Регистрация: Feb 2009
Сообщений: 33
спасибо за пример, действительно по сравнению с моей утечкой, тут можно считать стабильной память,на чем написан код контейнера? среди включенных модулей нет Flash10b.ocx на который я и грешу...
код вызова флэш функции
Код AS3:
// XMLDoc.XML.Strings - имя метода и его параметры 
res:=FlashObject.CallFunction(XMLDoc.XML.Strings[1]);
код получения ответа от флэша

Код AS3:
procedure TMyFlashGameSea.CallByFlash(ASender : TObject; const ARequest : WideString);
var //сюда попадаем когда флэш вызывает метод паскаля
     //ARequest- xml запрос с именем метода и его параметрами
 Method : string;
 iParameters : TVarArray;
begin
 FRetFlash(ARequest, Method, iParameters); //разбираем XML
 
 if Method = 'Log' then
  begin ....
и когда это происходит многократно начинается лавинообразная утечка.... с ощущением что CallFunction слабо синхронна основному потоку

Добавлено через 19 минут
для флэша так:
Код AS3:
// делаем доступными  для внешнего контейнера функции
		ExternalInterface.addCallback ("AddWinTableString",AddWinTableString);
        ExternalInterface.addCallback ("ChangeWinTableSttring",ChangeWinTableString);...
 тела функций пустые
Код AS3:
Тут вызываем метод делфи
ExternalInterface.call("Log","Нажата кнопка


Последний раз редактировалось nick_van_rijn; 02.10.2009 в 17:13.