Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
TQueue 사용시 에러 발생...
var
A:array[0..100] of Byte;
Queue : TQueue;
begin
Queue.Push(StrNew(A)); // <--여기서 에러 발생...
.
.
.
end;
Byte형으로 선언한 배열을 Queue에 넣고 싶은데...
incompatible types 'Array' and 'PChar'이라고
위와 같은 에러가 발생하네요..
어떻게 하면 될까요?
고수님들의 가르침을 바랍니다...
그럼...
3
COMMENTS
컴맹..
•
2001.03.19 20:21
안녕하세여... 컴맹입니다...
위에 코드에는 두가지 문제가 있군여...
Queue := TQueue.Create;// Queue 객체를 생성한다...
Queue.Push(@A);// 주소값을 넘겨 준다...
일단 수정된 코드 입니다...
먼저 첫번째는Queue 객체를 생성을 시키지 않은 문제구여..
두번째는 StrNew는 Pchar형을 초기화 즉 메모리를 할당하는 함수입니다..
따라서 사용하실 필요가 없습니다..
그럼 이만 줄이 겠습니다...
과객 wrote:
> var
> A:array[0..100] of Byte;
> Queue : TQueue;
> begin
> Queue.Push(StrNew(A)); // <--여기서 에러 발생...
> .
> .
> .
> end;
>
> Byte형으로 선언한 배열을 Queue에 넣고 싶은데...
> incompatible types 'Array' and 'PChar'이라고
> 위와 같은 에러가 발생하네요..
> 어떻게 하면 될까요?
> 고수님들의 가르침을 바랍니다...
> 그럼...
>
>
0
0
삭제
수정
댓글
과객
•
2001.03.19 21:30
컴맹.. wrote:
> 안녕하세여... 컴맹입니다...
>
> 위에 코드에는 두가지 문제가 있군여...
>
> Queue := TQueue.Create;// Queue 객체를 생성한다...
> Queue.Push(@A);// 주소값을 넘겨 준다...
>
> 일단 수정된 코드 입니다...
>
> 먼저 첫번째는Queue 객체를 생성을 시키지 않은 문제구여..
>
> 두번째는 StrNew는 Pchar형을 초기화 즉 메모리를 할당하는 함수입니다..
>
> 따라서 사용하실 필요가 없습니다..
>
> 그럼 이만 줄이 겠습니다...
>
>
> 과객 wrote:
> > var
> > A:array[0..100] of Byte;
> > Queue : TQueue;
> > begin
> > Queue.Push(StrNew(A)); // <--여기서 에러 발생...
> > .
> > .
> > .
> > end;
> >
> > Byte형으로 선언한 배열을 Queue에 넣고 싶은데...
> > incompatible types 'Array' and 'PChar'이라고
> > 위와 같은 에러가 발생하네요..
> > 어떻게 하면 될까요?
> > 고수님들의 가르침을 바랍니다...
> > 그럼...
> >
> > 답변에 감사 드립니다...
그런데 하나더....
그럼...받을땐 어찌해야하지요?
Queue.pop을 이용해야 할것 같은데...
A := Queue.pop;
이렇게 하면 되나요?
0
0
삭제
수정
댓글
컴맹..
•
2001.03.19 22:45
안녕하세여...
전체 소스를 올림니다..
이런식으로 사용하심이 맞는것 같네여...
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,contnrs;
type
PData = ^TData;
TData = Record
Data : Array[0..100] of Byte;
end;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
Queue : TQueue;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
A:PData;
begin
A := New(PData);
A^.Data[0] := 1;
Queue.Push(A);// 주소값을 넘겨 준다...
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Queue := TQueue.Create;// Queue 객체를 생성한다...
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Queue.Free; // 객체의 할당된 메모리를 해제한다.
end;
procedure TForm1.Button2Click(Sender: TObject);
var
A : PData;
begin
A := PData(Queue.Pop);//값을 가져와서.. type Casting을 해준다.
Showmessage(IntToStr(A^.Data[0]));
end;
end.
그럼 도움이 되셨기를 ...
과객 wrote:
> 컴맹.. wrote:
> > 안녕하세여... 컴맹입니다...
> >
> > 위에 코드에는 두가지 문제가 있군여...
> >
> > Queue := TQueue.Create;// Queue 객체를 생성한다...
> > Queue.Push(@A);// 주소값을 넘겨 준다...
> >
> > 일단 수정된 코드 입니다...
> >
> > 먼저 첫번째는Queue 객체를 생성을 시키지 않은 문제구여..
> >
> > 두번째는 StrNew는 Pchar형을 초기화 즉 메모리를 할당하는 함수입니다..
> >
> > 따라서 사용하실 필요가 없습니다..
> >
> > 그럼 이만 줄이 겠습니다...
> >
> >
> > 과객 wrote:
> > > var
> > > A:array[0..100] of Byte;
> > > Queue : TQueue;
> > > begin
> > > Queue.Push(StrNew(A)); // <--여기서 에러 발생...
> > > .
> > > .
> > > .
> > > end;
> > >
> > > Byte형으로 선언한 배열을 Queue에 넣고 싶은데...
> > > incompatible types 'Array' and 'PChar'이라고
> > > 위와 같은 에러가 발생하네요..
> > > 어떻게 하면 될까요?
> > > 고수님들의 가르침을 바랍니다...
> > > 그럼...
> > >
> > > 답변에 감사 드립니다...
> 그런데 하나더....
> 그럼...받을땐 어찌해야하지요?
> Queue.pop을 이용해야 할것 같은데...
> A := Queue.pop;
> 이렇게 하면 되나요?
>
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
칠라기
•
2001.03.19 21:18
1
COMMENTS
/
0
LIKES
데이타의 중복성 문제..
성더기
•
2001.03.20 01:21
칠라기 wrote: > 책을 보다가 다음과 같은 문제를 보게 되었습니다. > > -- 데이터의 중복성이 완전히 ...
bean
2001.03.19 21:15
0
COMMENTS
/
0
LIKES
폼에 기냥 그림을 그렸는데, 스크롤이 안되요...
느티나무
2001.03.19 20:45
0
COMMENTS
/
0
LIKES
【급질문】델파이로 서비스 프로그램 만들기---
구상도
•
2001.03.19 20:37
1
COMMENTS
/
0
LIKES
현재 실행중인 다른프로그램(AutoCAD, Excel..) 실행위치 ?
김동환
•
2001.03.20 03:39
//현재는 win98에서 찾는 방법만 사용 하였습니다. 그리구 밑의 SeekProcess함수는 제가 중복으로 실행이 ...
호야
•
2001.03.19 20:12
1
COMMENTS
/
0
LIKES
내가 지정한 콤포넌트의 OWNER에 있는 다른 콤포넌트에..
최용일
•
2001.03.20 02:06
안녕하세요. 최용일입니다. Components(Owner)과 Controls(Parent)속성을 혼동하신거 같군요. Component...
과객
•
2001.03.19 19:56
3
COMMENTS
/
0
LIKES
TQueue 사용시 에러 발생...
var A:array[0..100] of Byte; Queue : TQueue; begin Queue.Push(StrNew(A)); //
컴맹..
•
2001.03.19 20:21
안녕하세여... 컴맹입니다... 위에 코드에는 두가지 문제가 있군여... Queue := TQueue.Create;// ...
과객
•
2001.03.19 21:30
컴맹.. wrote: > 안녕하세여... 컴맹입니다... > > 위에 코드에는 두가지 문제가 있군여... > > Q...
컴맹..
•
2001.03.19 22:45
안녕하세여... 전체 소스를 올림니다.. 이런식으로 사용하심이 맞는것 같네여... unit Unit1; int...
초보델파이...
•
2001.03.20 11:29
3
COMMENTS
/
0
LIKES
프로그램 종료를 취소할 수 있도록 하려면
까마귀
•
2001.03.20 11:29
초보델파이... wrote: > 프로그램을 제작하여 실행도중에 > > 창 오른쪽 위에 있는 X를 클릭하면 종료...
컴맹..
•
2001.03.20 11:29
안녕하세여.. 컴맹입니다... 일단 폼의 CloseQuery 이벤트에 다음과 같이 하시면 종료가 되지 않습니...
김동환
•
2001.03.20 11:30
CloseQuery에 대한 보충 설명입니다. 종료 이밴트에 속하는 CloseQuery는 Windows상의 모든 종료를 막아...
김신광
•
2001.03.19 20:07
1
COMMENTS
/
0
LIKES
Dcu파일루 콤포넌트 인스톨 할수 있나여? 흑흑~ 누구 Tcsquery가지고 계신분...
최용일
•
2001.03.20 01:54
안녕하세요. 최용일입니다. 델파이 버전만 맞다면 인스톨 가능합니다. 패키지에 dcu를 직접 넣으시지...
아라
2001.03.19 20:34
0
COMMENTS
/
0
LIKES
onCalcFields인 누계를 조인테이블을 사용한 DBGrid에서 보여주려고...
쫑아랍니다..
•
2001.03.19 19:39
1
COMMENTS
/
0
LIKES
스트링그리드에 콤마넣어서 자료를 뿌리고 싶은데..
까마귀
•
2001.03.19 21:46
쫑아랍니다.. wrote: > 스트링 그리드의 arow3값을 금액형(3,000,000)으루 뿌리고 싶은데... > > 델파...
jun o
2001.03.19 19:18
0
COMMENTS
/
0
LIKES
wave 파일 출력시 이퀄라이저 구현
김명찬
2001.03.19 19:00
0
COMMENTS
/
0
LIKES
treeview에서의 인덱스
델초보.....ㅜ.ㅜ
2001.03.19 18:43
0
COMMENTS
/
0
LIKES
메모장에서 리턴값제거 방번 다시 질문합니다.....ㅡㅡ;;
조승식
•
2001.03.19 16:05
1
COMMENTS
/
0
LIKES
Tcomport로 RS232자료 송수신때 STX,ETX를 어떻게 알아내죠?
신태균
•
2001.03.23 02:25
조승식 wrote: > 232 통신은 첨인데 먹고는 살아야 하구...어휴 힘들다.. > 부탁드립니다. > > 송신쪽...
김진규
2001.03.19 10:31
0
COMMENTS
/
0
LIKES
델파이에서 유니코드 문자를 출력할려면?
민
•
2001.03.19 07:38
1
COMMENTS
/
0
LIKES
델파이에서 엔터키, 텝키..어떻게 인식?
whitetree
•
2001.03.19 18:53
민 wrote: > procedure TForm_main.Edit_messageKeyPress(Sender: TObject; var Key: Char); > begin > ...
델피언
2001.03.19 07:20
0
COMMENTS
/
0
LIKES
도와주세요 급해요 stringGrid 에서
김광수
•
2001.03.19 06:03
1
COMMENTS
/
0
LIKES
메인폼 포커스 유지한 상태로 다른폼 보이기.
아폴론
•
2001.03.19 18:32
김광수 wrote: > > 제목 그대롭니다 > > 메인폼 포커스 유지한 상태로 다른폼 보이게 하는 방법 좀 ...
zerodog
•
2001.03.19 05:46
1
COMMENTS
/
0
LIKES
퀵레포트...
아폴론
•
2001.03.19 18:35
zerodog wrote: > landscape 으로 레포트를 눕혔는데(폼에서는 가로로 돼있는데) preview에는 세로로 출력...
아기코알라
•
2001.03.19 04:19
4
COMMENTS
/
0
LIKES
중복데이타 입력 안되게...조금만 보아 주세요.
바보감자
•
2001.03.19 18:54
아기코알라 wrote: > 오늘도 프로그램하시느라 수고가 많으시네요… > 오늘도 여전히 염치불구하고 고수님...
아기코알라
•
2001.03.20 01:03
답변 정말 정말 감사드립니다. 바보감자님의 앞날에 많은 행운이 있으시길 바랍니다… 제가 질문을 좀 ...
바보감자
•
2001.03.20 19:21
아기코알라 wrote: > 답변 정말 정말 감사드립니다. > 바보감자님의 앞날에 많은 행운이 있으시길 바랍니...
아폴론
•
2001.03.20 01:39
> > 예) 필드명 SuperNo / CardNo / ~~~~ > 레코드1 1-1 / 1 / ~~~ >...
과객
2001/03/19 19:56
Views
249
Likes
0
Comments
3
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
위에 코드에는 두가지 문제가 있군여...
Queue := TQueue.Create;// Queue 객체를 생성한다...
Queue.Push(@A);// 주소값을 넘겨 준다...
일단 수정된 코드 입니다...
먼저 첫번째는Queue 객체를 생성을 시키지 않은 문제구여..
두번째는 StrNew는 Pchar형을 초기화 즉 메모리를 할당하는 함수입니다..
따라서 사용하실 필요가 없습니다..
그럼 이만 줄이 겠습니다...
과객 wrote:
> var
> A:array[0..100] of Byte;
> Queue : TQueue;
> begin
> Queue.Push(StrNew(A)); // <--여기서 에러 발생...
> .
> .
> .
> end;
>
> Byte형으로 선언한 배열을 Queue에 넣고 싶은데...
> incompatible types 'Array' and 'PChar'이라고
> 위와 같은 에러가 발생하네요..
> 어떻게 하면 될까요?
> 고수님들의 가르침을 바랍니다...
> 그럼...
>
>