| kostya_76   
 Posts: 33
 
 | 
			| 
 
				Berserker,  Так?
 
Ошибки указывают на строки с закрывающими фигурными скобками структур
			 |  | 
	| 12.02.2012 16:10 |  | 
	
		| gamecreator   
   Posts: 7107
 
 |  | 
	| 12.02.2012 16:33 |  | 
	
		| Berserker   
   
   Posts: 16786
 
 |  | 
	| 12.02.2012 16:46 |  | 
	
		| gamecreator   
   Posts: 7107
 
 |  | 
	| 12.02.2012 16:53 |  | 
	
		| AVS   
 Posts: 16
 
 | 
			| 
 
				Интересно насколько сложно полностью перехватить создание случайных карт? (=встроить свой генератор, если я его допишу всетаки %) )
			 |  | 
	| 12.02.2012 18:16 |  | 
	
		| Sav   
 Posts: 2180
 
 | 
			| 
 
				Если ты действительно напишешь хороший генератор, думаю желающие его встроить найдутся.
			 |  | 
	| 12.02.2012 18:44 |  | 
	
		| kostya_76   
 Posts: 33
 
 | 
			| 
 
				Berserker, Еще ошибку выдает:
 |  | 
	| 12.02.2012 20:08 |  | 
	
		| AVS   
 Posts: 16
 
 | 
			| 
 
				 (12.02.2012 00:26)kostya_76 Wrote:  Создаю форму.  Вызываю Form1.Show(); хоть в обработчике хука, хоть при загрузке длл - вылет.Так тоже не получается:
 VAR AOwner: TComponent;
 Form1 := TForm1.Create(AOwner);
 Form1.Show();
 
И не получится. Убери формы вообще и все связи с VCL.
 
Хотя в теории подружить VCL с героями возможно (но формы будут открываться отдельно от окна героев), а вот встроить их внутрь интерфейса нереально (если бы у окон героев были оконные хендлы, а их там AFAIK нет, то можно было бы вообще вставлять праактически любой виджет из VCL прямо на любое окно в игре)
			 
				
(This post was last modified: 12.02.2012 20:16 by AVS.)
 |  | 
	| 12.02.2012 20:15 |  | 
	
		| kostya_76   
 Posts: 33
 
 | 
			| 
 
				 (12.02.2012 20:15)AVS Wrote:  И не получится. Убери формы вообще и все связи с VCL.
 Хотя в теории подружить VCL с героями возможно (но формы будут открываться отдельно от окна героев), а вот встроить их внутрь интерфейса нереально (если бы у окон героев были оконные хендлы, а их там AFAIK нет, то можно было бы вообще вставлять праактически любой виджет из VCL прямо на любое окно в игре)
 
Само-собой это окно отдельно от окна героев должно открываться.
			 |  | 
	| 12.02.2012 20:40 |  | 
	
		| Berserker   
   
   Posts: 16786
 
 |  | 
	| 12.02.2012 21:02 |  | 
	
		| kostya_76   
 Posts: 33
 
 | 
			| 
 
				Berserker,  Не помогает - такое сообщение об ошибке.Собственно, мне пока нужен только хук, попробую сейчас функцию
 typedef __stdcall void (*THook) (void* HandlerAddr, int HookType, int PatchSize, void* CodeAddr);
 
				
(This post was last modified: 12.02.2012 21:12 by kostya_76.)
 |  | 
	| 12.02.2012 21:10 |  | 
	
		| AVS   
 Posts: 16
 
 | 
			| 
 
				 (12.02.2012 20:40)kostya_76 Wrote:  Само-собой это окно отдельно от окна героев должно открываться. 
Тогда при запуске в хуке Application.Initialize. Еще возможно необходимо установить Application.Handle на реальный хендл героев. 
Формы создавать Tform1.Create(nil) и ставить FreeOnRelease. Уже это должно работать.
  (12.02.2012 21:02)Berserker Wrote:  Реквизит встроила VCL-ые формы в игру. 
Ну если хукнуть главный цикл и "подсунуть под" окно героев VCL форму (чтобы окно героев было дочерним) потом наверное переписав обрабтку мыши и клавиатуры может и получится.
  (12.02.2012 21:02)Berserker Wrote:  zvslib1 использует формы билдера для новых воговских диалогов. Я, к сожалению, добился только глючного модального запуска и бросил. 
Увы я только мельком поглядел на исходники самого вога - этой либы в них нет - а в самом воге диалоги реализованы через грязные хаки с VMT классов внурти движка героев.
			 |  | 
	| 12.02.2012 21:22 |  | 
	
		| baratorch   
 Posts: 197
 
 | 
			| 
 
				kostya_76__stdcall void замени на void __stdcall
 |  | 
	| 12.02.2012 21:43 |  |