Dim colParagraphs
Dim objSinglePara
Set colParagraphs = document.all.tags("P")
Set objSinglePara = colParagraphs(2)
objSinglePara.innerText = "This is brand new text!"
objSinglePara.style.textDecoration = "underline"
MSDN에서 예제로 나온 것인데 대충보면 P태그들을 컬렉션으로 가져와서
그 중 한부분을 수정하는 부분인데요
델파이에서 document.all.tags("P")의 리턴을 담을만한 저장공간을 어떤식으로 정의하는
건지 궁금합니다.
Variant로 해도 잘 안되던데
MSHTML 유닛에 있는 인터페이스를 사용하셔서 구현하셔야 합니다. 아래의 예제는 비베인것 같은데... 델파이에서는 VC++과 비슷하게 인터페이스로 하셔야 합니다.
아래를 간단하게 델파이로 포팅해 보면 다음과 같습니다.(급히 적느라 틀릴수도 -_-)
var
iec:IHTMLElementCollection;
ie:IHTMLElement;
ovIndex:OleVariant;
begin
iec:=(WebBrowser1.Document as IHTMLDocument2).all.tags('P') as IHTMLElementCollection;
ovIndex:=2;
ie:=iec.item(ovIndex, 0) as IHTMLElement;
ie.innerText:='This is brand new text!';
ie.style.textDecoration:='underline';
이런식으로 되겠죠...
그럼, 즐푸~