여기저기 자료들 보면서 작업을 해보고 있습니다.
그런데 가장 기본적으로 진행이 안되는부분이 있습니다.
이것들이 먼저 해결이 되어야 할것 같은데요
그냥 지나치지 마시고 팁이라도 꼭 부탁드립니다.
한글 2007버젼으로 하다가 실행했다가 닫기만 해도 에러가 나서
다른 컴퓨터에는 한글 2002 설치해서 해보고 있습니다. 2002에서는 닫을때 에러는 안나더라구요
델마당에서 본 아래 자료===1============
***** <- 이부분이 메모리 충동나듯 에러가 납니다.
procedure TForm1.NewHNCWndProc(var message: TMessage); // 서브클래싱한 HWP WndProc(이부분을 모르겠어요..어케 하는지)
var
Action, Param : Variant;
begin
Action := HWPCtrl1.CreateAction('InsertText'); // 액션 생성
If Action Then
Param := Action.CreateSet; // 파라메터 생성 ***** 이부분입니다.
HWPProc(message); // 원래의 WndProc 실행
Case message.Msg of
WM_CHAR : begin
Param.SetItem('Text', Char(message.WParam)); // 영문찍기
Action.Execute(Param);
end;
WM_IME_COMPOSITION : // 한글일때
begin
if message.LParam <> 2048 then begin // 한글이 완성되었을 때의 처리
//-- 어쩌고 저쩌고
end
else begin // 입력중인 미완성 한글찍기
Param.SetItem('Text', Char(Hi(message.WParam)) + Char(Lo(message.WParam)));
Action.Execute(Param);
end;
end;
end; // case
end;
--도통 왜그런지를 모르겠습니다.
델마당에서 본 아래 자료==1=============끝
두번째는 비베에서====
Dim actHwp As HwpAction
Dim setHwp As HwpParameterSet
MsgBox strFind + strReplace
On Error Resume Next
Set actHwp = HwpCtrl1.CreateAction("AllReplace")
Set setHwp = HwpCtrl1.CreateSet("FindReplace")
hwpCtl.MovePos (2)
setHwp.SetItem "FindString", strFind '찾을 문자열
setHwp.SetItem "ReplaceString", strReplace '바꿀 문자열
이부분인데요
아래와 같이 바꾸니 ActHwp := HwpCtrl1.CreateAction('AllReplace'); 이부분 당연히 에러가 납니다.
그래서 변수 설정을 ActHwp, SetHwp : Variant; <- 이것으로 해보니
SetHwp.SetItem('FindString',OdStr); //'찾을 문자열 <-- 이부분에서 에러가 납니다.
procedure TForm1.ChngHwp(OdStr, NwStr : WideString);
var
ActHwp : HwpAction;
SetHwp : HwpParameterSet;
begin
ActHwp := HwpCtrl1.CreateAction('AllReplace');
SetHwp := HwpCtrl1.CreateSet('FindReplace');
HwpCtrl1.MovePos(2);
SetHwp.SetItem('FindString',OdStr); //'찾을 문자열
SetHwp.SetItem('ReplaceString',NwStr); //'바꿀 문자열
===================
여기저기 검색해보니 작업해보신 델님들 많으시더라구요 가능하시면 답변 꼭 부탁드립니다.