아무래도 이쁘게 짜려면(노가다 안하려면) 구조체가 필수다.
구조체에 해당하는게 Class 인데 일반적인 OOP의 Class 와 비교하면 초라하다.
그냥 구조체 처럼 쓸수 있다고 생각하면 된다.
메쏘드(?)는 지원 되나 아직 안써봄 ㅋㅋ
Class TestClass
Dim Member1
Dim Member2
Dim ArrayMember(5) ' 배열도 있을수 있다.
Dim TestClass2 ' 클래스가 멤버 일수도 있다.
End Class
' 인스턴스 생성
Set Instace1 = New TestClass ' New 키워드를 이용해 인스턴스를 생성 할수 있다.
Set Instace1 = Nothing ' Null Point 같은 개념, 해주면 메모리 관리에 도움이 된다.
오브젝트에 다른 오브젝트를 대입 할때는 Set 을 써줘야 한다.
함수의 리턴 값으로 오브젝트를 리턴 한다면 아래와 같이 하면 된다.
Function TestEunc1()
Instace1.Member1 = 3245
' 리턴값으로 오브젝트를 대입
Set TestEunc1 = Instace1
End Function
끝~
2011년 6월 9일 목요일
[VBScript] 함수 선언 하는법
어쩌다 보니 VBScript를 하게 되었다;;
까묵지 않기 위해 정리 해둔다.
함수 선언
Function TestFunction(ByVal Arg1, ByRef Arg2)
If Arg1 = "CDEF" Then
TestFunction = "GHIJ"
' return에 해당
Exit Function
End If
' 리턴값 지정
TestFunction = "ABCD"
End Function
' ByVal - 값에 의한 호출
' ByRef - 참조에 의한 호출
VBScript엔 타입이 존재하지 않는다.
그걸 모르고 ByVal 를 처음 보았을땐
"타입이 값에 따라 가변으로 정해지는 건가??"
생각 했었는데 --;;; 아니더라....
까묵지 않기 위해 정리 해둔다.
함수 선언
Function TestFunction(ByVal Arg1, ByRef Arg2)
If Arg1 = "CDEF" Then
TestFunction = "GHIJ"
' return에 해당
Exit Function
End If
' 리턴값 지정
TestFunction = "ABCD"
End Function
' ByVal - 값에 의한 호출
' ByRef - 참조에 의한 호출
VBScript엔 타입이 존재하지 않는다.
그걸 모르고 ByVal 를 처음 보았을땐
"타입이 값에 따라 가변으로 정해지는 건가??"
생각 했었는데 --;;; 아니더라....
2011년 2월 26일 토요일
Android - VMware를 이용한 우분투64 에서 안드로이드 커널 빌드 오류2
기쁜 마음에
make 를 수행하면 빌드가 진행 된다.
한참 뒤 화면이 멈춘듯 하지만.... 하드디스크가 바쁘게 움직인다.
그러다 수분뒤 다음과 같은 에러가 난다면...
target Dex: core
make: *** [out/target/common/obj/JAVA_LIBRARYIES/core_intermediates/classes.dex] Killed
이는 메모리 부족으로 인한 오류로,
안드로이드 커널 빌드 요구 사항이 보면 램 1.5기가 하드디스크 10기가 이상으로 명시 되어 있다.
VMware Player를 열어 다음과 같이 설정 하므로써 메모리와 저장 공간을 확보 하자.
참고로 VMware Player 의 가상머신을 종료 하고 하지 않으면 설정을 변경 할 수 없을 수도 있으니 확실히 shut down 해줘야 한다.
VMware Player 를 실행해 가상머신을 선택 후 Virtual Machine Settings... 를 선택한다.
메모리 항목을 선택해 1.5GB(1536MB) 이상으로 설정해 준다.
다음으로 하드디스크를 선택 후 유틸리티-> Expand Disk Capacity 에서 넉넉히 20GB 이상으로 설정 해 준다.
겸사겸사 프로세서를 4개로 늘려 줬다 ㅋㅋ
기분 탓인지 빨라진듯도 하다.
빌드창 올라가는걸 보니 미드 보다 재밌다~
make 를 수행하면 빌드가 진행 된다.
한참 뒤 화면이 멈춘듯 하지만.... 하드디스크가 바쁘게 움직인다.
그러다 수분뒤 다음과 같은 에러가 난다면...
target Dex: core
make: *** [out/target/common/obj/JAVA_LIBRARYIES/core_intermediates/classes.dex] Killed
이는 메모리 부족으로 인한 오류로,
안드로이드 커널 빌드 요구 사항이 보면 램 1.5기가 하드디스크 10기가 이상으로 명시 되어 있다.
VMware Player를 열어 다음과 같이 설정 하므로써 메모리와 저장 공간을 확보 하자.
참고로 VMware Player 의 가상머신을 종료 하고 하지 않으면 설정을 변경 할 수 없을 수도 있으니 확실히 shut down 해줘야 한다.
VMware Player 를 실행해 가상머신을 선택 후 Virtual Machine Settings... 를 선택한다.
메모리 항목을 선택해 1.5GB(1536MB) 이상으로 설정해 준다.
다음으로 하드디스크를 선택 후 유틸리티-> Expand Disk Capacity 에서 넉넉히 20GB 이상으로 설정 해 준다.
겸사겸사 프로세서를 4개로 늘려 줬다 ㅋㅋ
기분 탓인지 빨라진듯도 하다.
빌드창 올라가는걸 보니 미드 보다 재밌다~
2011년 2월 25일 금요일
Android - unbuntu 10.10 64비트 커널에서 빌드 make 오류
먼저 본인은 리눅스 쌩초짜 임을 밝혀 둡니다 --;;
여전히 안드로이드 커널이 빌드중에 오류를 내뱉는다.
아래는 에러 메시지~
hermina@ubuntu:~/mydroid$ make
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.2.1
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
HOST_ARCH=x86HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=FRG83
============================================
host C: acp <= build/tools/acp/acp.c
In file included from /usr/include/features.h:387,
from /usr/include/stdlib.h:25,
from build/tools/acp/acp.c:11:
/usr/include/gnu/stubs.h:7: fatal error: gnu/stubs-32.h: No such file or directory
compilation terminated.
make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp.o] Error 1
뭐 이젠 척보기에도 리눅스를 64비트 버젼으로 깔았고
안드로이드 프레임웍 소스는 32비트를 받았기 때문이라는 삘이 온다.
gnu/stubs-32.h 파일이 없는 거군...
HOST_ARCH=x86 로 되어 있는걸로 보아 값을 x64라던가 비슷한 값으로 바꾸면
쉽게 될것 같은 냄새가 난다 ㅋㅋㅋ
우선 HOST_ARCH=x86의 값이 어디 있는지 알아 보기로 했다.
금방은 못찾겠어서;;;
make HOST_ARCH=x64
요렇게 해보았다.
build/core/combo/select.mk:61: build/core/combo/HOST_linux-x64.mk: No such file or directory
/bin/bash: prebuilt/linux-x64/toolchain/arm-eabi-4.4.0/bin/arm-eabi-gcc: No such file or directory
build/core/definitions.mk:1659: *** HOST_OS must define get-file-size. Stop.
오우 노우~
그럼 다음 방법~
gnu/stubs-32.h 가 있도록 해보자...
뭐 우선 패키지인가? 설치 해보자.
구글님이 libc6-dev-i386이라신다 당장 설치해 보자
sudo apt-get install libc6-dev-i386
오우 노우~
또 에러 ㅋㅋ
.......
.......
.a when searching for -lstdc++
/usr/bin/ld: cannot find -lstdc++
구글님께 다시 여쭤 보니
http://source.android.com/source/download.html
64비트일 경우의 필요 유틸들을 다 적어 놨다.
확인 후 빠진 녀석을 체크 하자.
(참고 하던 책은 32비트 기준으로만 설명이 되어 있었다.)
여전히 안드로이드 커널이 빌드중에 오류를 내뱉는다.
아래는 에러 메시지~
hermina@ubuntu:~/mydroid$ make
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.2.1
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
HOST_ARCH=x86HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=FRG83
============================================
host C: acp <= build/tools/acp/acp.c
In file included from /usr/include/features.h:387,
from /usr/include/stdlib.h:25,
from build/tools/acp/acp.c:11:
/usr/include/gnu/stubs.h:7: fatal error: gnu/stubs-32.h: No such file or directory
compilation terminated.
make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp.o] Error 1
뭐 이젠 척보기에도 리눅스를 64비트 버젼으로 깔았고
안드로이드 프레임웍 소스는 32비트를 받았기 때문이라는 삘이 온다.
gnu/stubs-32.h 파일이 없는 거군...
HOST_ARCH=x86 로 되어 있는걸로 보아 값을 x64라던가 비슷한 값으로 바꾸면
쉽게 될것 같은 냄새가 난다 ㅋㅋㅋ
우선 HOST_ARCH=x86의 값이 어디 있는지 알아 보기로 했다.
금방은 못찾겠어서;;;
make HOST_ARCH=x64
요렇게 해보았다.
build/core/combo/select.mk:61: build/core/combo/HOST_linux-x64.mk: No such file or directory
/bin/bash: prebuilt/linux-x64/toolchain/arm-eabi-4.4.0/bin/arm-eabi-gcc: No such file or directory
build/core/definitions.mk:1659: *** HOST_OS must define get-file-size. Stop.
오우 노우~
그럼 다음 방법~
gnu/stubs-32.h 가 있도록 해보자...
뭐 우선 패키지인가? 설치 해보자.
구글님이 libc6-dev-i386이라신다 당장 설치해 보자
sudo apt-get install libc6-dev-i386
오우 노우~
또 에러 ㅋㅋ
.......
.......
.a when searching for -lstdc++
/usr/bin/ld: cannot find -lstdc++
구글님께 다시 여쭤 보니
http://source.android.com/source/download.html
64비트일 경우의 필요 유틸들을 다 적어 놨다.
확인 후 빠진 녀석을 체크 하자.
(참고 하던 책은 32비트 기준으로만 설명이 되어 있었다.)
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper main multiverse"
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper-updates main multiverse"
sudo apt-get update
sudo apt-get install sun-java5-jdk
sudo update-java-alternatives -s java-1.5.0-sun
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper-updates main multiverse"
sudo apt-get update
sudo apt-get install sun-java5-jdk
sudo update-java-alternatives -s java-1.5.0-sun
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
2011년 2월 23일 수요일
Android - Failed to create the SD card 해결
- 원인
64비트 리눅스가 깔린 상태에서 32비트 안드로이드 SDK를 설치,
따라서 SD카드를 할당하는데 쓰이는 ia32-libs 패키지가 디폴트로 존제 하지 않으므로 발생하는 에러
- 해결방법
ia32-libs 패키지의 설치
예) sudo apt-get install ia32-libs
64비트가 구지 쓰고 싶어서 설치 했는데...
녀석이 발목 잡는다;;;
64비트 리눅스가 깔린 상태에서 32비트 안드로이드 SDK를 설치,
따라서 SD카드를 할당하는데 쓰이는 ia32-libs 패키지가 디폴트로 존제 하지 않으므로 발생하는 에러
- 해결방법
ia32-libs 패키지의 설치
예) sudo apt-get install ia32-libs
64비트가 구지 쓰고 싶어서 설치 했는데...
녀석이 발목 잡는다;;;
2011년 1월 16일 일요일
Android - 레이아웃 XML 파일의 파일명
레이아웃 XML 파일의 파일명은 소문자만 가능 하다.
만일 대문자를 섞어 썼다면....
[2011-01-17 11:36:04 - TabTest] res\layout\TabContent2.xml: Invalid file name: must contain only [a-z0-9_.]
콘솔에 위와 같은 에러 메시지가 뜨게 된다.
평소에도 콘솔의 에러메시지를 유심히 봐둔다면
"대체 왜 않되는 거야!!!"
라며 짜증 내지 않아도 될듯 하다.
만일 대문자를 섞어 썼다면....
[2011-01-17 11:36:04 - TabTest] res\layout\TabContent2.xml: Invalid file name: must contain only [a-z0-9_.]
콘솔에 위와 같은 에러 메시지가 뜨게 된다.
평소에도 콘솔의 에러메시지를 유심히 봐둔다면
"대체 왜 않되는 거야!!!"
라며 짜증 내지 않아도 될듯 하다.
2010년 12월 2일 목요일
망할 모토로이 버리고 싶다 ㅠㅜ
모토로이 써온지 벌써 4개월째 되네요
1달전 USB 인식 고장으로 A/S 센터를 5번 왔다 가따 했는데
여전히 심각한 터치렉에 시달리고 있습니다.
증상은....
쓰다 보면 터치 감이 떨어지는 듯 하다가
점점 터치가 렉이 걸리고
심하면 아예 터치 반응이 없어 집니다.
처음 살때 부터 충전기 꼽아 놓으면 터치 안되는 현상은 있었으나
그것 보다 심각하게 안되요 ㅋ
A/S를 받고 부터 이랬는데.....
이넘이 보통때는 잘된단 말이지요 ㅋ
게다가 터치가 않되도 전원버튼 눌렀다 다시 켜면 잘됩니다.
물론 전원 버튼 눌러서 조금 기다려 줘야 복구 됩니다.
5번 연속으로 방문한 충격과 회사의 눈치로 또 가기 싫어 버티다
하도 짜증이 밀려와 이번에
메모리카드 포멧,
공장 초기화,
홈페이지의 소프트웨어 업그레이드 까지 해봤지만....
증상이 개선되지 않습니다.
아 약간 그런 현상이 덜 벌어 지는 듯은 하지만요;;;
다른 분들도 이런 경우 있으신가요??
여담... 모토로이 A/S 센터 5번 방문기~
1. USB가 인식이 안되어 모토로이 서비스 센터에 방문 했습니다.
USB단자가 불량인듯 하나 부품이 없어 수리 할수 없다는 군요.
4일 뒤에 오라더군요..
2. 일주일 뒤에 다시 방문...
수리를 받았으나 회사 와서 확인해 보니 되다 안되다 합니다.
3. 다시 방문
단자 불량은 아니고 보드가 불량인듯 하나 부품이 또 없다는 군요...
미안 하신지 다음날 오라 시더군요...
4. 다음날 방문...
수리를 해 주셨는데....
메모리 카드가 다른 분꺼랑 바꼈더군요...
지하철 타러 갔다가 다시 가서 메몰 교환 받으려 했는데
연락처 정보도 다른 분것이 들어가 있어서 부득 지워야 한다더군요....
시간이 없어서 그냥 포맷해 달라 했습니다.
5. USB는 잘되는데 와서 확인해 보니 카메라가 않됩니다 --;;
다시 방문... 다 고쳐 주시고 그날 퀵으로 보내 주시더군요...
현재...
터치 렉 심함 --;;;;
솔직히 A/S 직원분 친절은 했습니다.
모토로라는 어쩌다 모토로이 같은걸 많들어서 사서 고생 하는 걸까요;;;
사실 싸고 괞찮은 녀석이긴 하지만...
저런 불량이 있기 때문에 싼건 아니지 않습니까?
정말 또 가려니 귀찮고 막상 가도 해결 될런지 의심 스럽네요..
터치가 않되는 현상 재현 하기도 짜증나구요 ㅋ
1달전 USB 인식 고장으로 A/S 센터를 5번 왔다 가따 했는데
여전히 심각한 터치렉에 시달리고 있습니다.
증상은....
쓰다 보면 터치 감이 떨어지는 듯 하다가
점점 터치가 렉이 걸리고
심하면 아예 터치 반응이 없어 집니다.
처음 살때 부터 충전기 꼽아 놓으면 터치 안되는 현상은 있었으나
그것 보다 심각하게 안되요 ㅋ
A/S를 받고 부터 이랬는데.....
이넘이 보통때는 잘된단 말이지요 ㅋ
게다가 터치가 않되도 전원버튼 눌렀다 다시 켜면 잘됩니다.
물론 전원 버튼 눌러서 조금 기다려 줘야 복구 됩니다.
5번 연속으로 방문한 충격과 회사의 눈치로 또 가기 싫어 버티다
하도 짜증이 밀려와 이번에
메모리카드 포멧,
공장 초기화,
홈페이지의 소프트웨어 업그레이드 까지 해봤지만....
증상이 개선되지 않습니다.
아 약간 그런 현상이 덜 벌어 지는 듯은 하지만요;;;
다른 분들도 이런 경우 있으신가요??
여담... 모토로이 A/S 센터 5번 방문기~
1. USB가 인식이 안되어 모토로이 서비스 센터에 방문 했습니다.
USB단자가 불량인듯 하나 부품이 없어 수리 할수 없다는 군요.
4일 뒤에 오라더군요..
2. 일주일 뒤에 다시 방문...
수리를 받았으나 회사 와서 확인해 보니 되다 안되다 합니다.
3. 다시 방문
단자 불량은 아니고 보드가 불량인듯 하나 부품이 또 없다는 군요...
미안 하신지 다음날 오라 시더군요...
4. 다음날 방문...
수리를 해 주셨는데....
메모리 카드가 다른 분꺼랑 바꼈더군요...
지하철 타러 갔다가 다시 가서 메몰 교환 받으려 했는데
연락처 정보도 다른 분것이 들어가 있어서 부득 지워야 한다더군요....
시간이 없어서 그냥 포맷해 달라 했습니다.
5. USB는 잘되는데 와서 확인해 보니 카메라가 않됩니다 --;;
다시 방문... 다 고쳐 주시고 그날 퀵으로 보내 주시더군요...
현재...
터치 렉 심함 --;;;;
솔직히 A/S 직원분 친절은 했습니다.
모토로라는 어쩌다 모토로이 같은걸 많들어서 사서 고생 하는 걸까요;;;
사실 싸고 괞찮은 녀석이긴 하지만...
저런 불량이 있기 때문에 싼건 아니지 않습니까?
정말 또 가려니 귀찮고 막상 가도 해결 될런지 의심 스럽네요..
터치가 않되는 현상 재현 하기도 짜증나구요 ㅋ
피드 구독하기:
글 (Atom)


